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

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

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

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

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

【问题讨论】:

    标签: iphone ios4 uipickerview


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 2012-10-02
      • 1970-01-01
      • 2022-01-06
      • 2016-03-06
      相关资源
      最近更新 更多