从自定义数据源中获取选定的行?

Posted

技术标签:

【中文标题】从自定义数据源中获取选定的行?【英文标题】:get selected row from custom datasource? 【发布时间】:2011-06-02 15:49:22 【问题描述】:

我有一个显示自定义 UIPickerView 的视图。我还为 UIPickerView 提供了一个单独的 DataSource 类,它也是 UIPicker 的委托。

我想您需要从数据源(模型)而不是选择器本身获取选定的值。

从另一个视图获取自定义 UIPickerView 的选定值的最佳方法是什么?

我是否应该将值保存在 didSelectRow:(NSInteger)row inComponent:(NSInteger) 方法的自定义 DataSource 类的本地字段中,并从我的其他方法中使用该值的 getter观看次数?

【问题讨论】:

【参考方案1】:

从您的问题来看,您似乎没有将代码与数据分开,换句话说,您没有遵循模型-视图-控制范式。因此,听起来您有一个控制数据的 ONE 视图……但现在您需要另一个视图,事情变得一团糟。

有多种方法可以共享数据,它们都取决于您如何处理这些数据。例如,假设一个视图创建数据对象并将它们存储在 NSMutableArray 或 NSMutableDictionary 中。然后,您可以传递该对象并让多个视图访问数据。

有些人可能喜欢将其创建为应用程序委托的属性。那么使用 [[UISharedApplication] delegate] 获取属性就很简单了。

我倾向于传递对象(除非使用 Core Data)并使用属性来获取和设置值。

如果答案有点含糊,我很抱歉,但问题也有点含糊 - 没有一种“正确”的方式来传递数据。有些比其他的更麻烦 - 您会立即知道哪些是完全错误的(您最终会与代码作斗争)。

【讨论】:

以上是关于从自定义数据源中获取选定的行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用angularJS从自定义下拉列表中获取选定的值

从自定义 UIPopOver 问题推送新的 UIViewController

Flutter 如何从自定义小部件中获取价值

从自定义 tableView 单元格文本字段中获取数据

Swift 如何从自定义 uicollectionviewcell 中获取数据?

无法从自定义查询中获取对象数据 Back& - Backand.com - 未定义