【发布时间】:2009-05-07 22:43:53
【问题描述】:
我正在为 UIScrollView 实现一个数据源对象。那是控制器的一部分,还是模型的一部分?我认为控制器,但不确定。它提供数据。但是数据可能在sqlite3,文件中,来自网络。所以实际上我会说它不是来自数据部分,因为它应该灵活地从数据的来源。你怎么看?
【问题讨论】:
标签: objective-c cocoa cocoa-touch datasource
我正在为 UIScrollView 实现一个数据源对象。那是控制器的一部分,还是模型的一部分?我认为控制器,但不确定。它提供数据。但是数据可能在sqlite3,文件中,来自网络。所以实际上我会说它不是来自数据部分,因为它应该灵活地从数据的来源。你怎么看?
【问题讨论】:
标签: objective-c cocoa cocoa-touch datasource
任何视觉控件的数据源都应该是您的控制器。您的控制器应该从模型中获取/处理数据,然后将其交给视图。
【讨论】:
我会说实际上两者都不是。您的 UIScrollView 数据源只是格式化您的数据以供显示。
除非您有执行“业务逻辑”的特定操作,否则您的 UIScrollView 数据源将参与视图。
控制器将包含以任何方式修改或处理数据的逻辑,您的滚动视图仅允许显示数据。
【讨论】:
Cocoa 的 MVC 范式鼓励“模型控制器”和“视图控制器”对象。数据源对象属于视图控制器类别;它根据 UI 元素的需要从数据存储中请求模型对象,重新格式化数据以适应,然后将其传递给 UI。通常同一个对象也会处理 UI 事件和委托方法。
【讨论】: