【发布时间】:2014-01-27 10:50:14
【问题描述】:
(我已经阅读了很多关于此的 stackoverflow 帖子,以及一般的 Cocoa MVC,但大多数都与视图控制器之间的信息共享有关。)
鉴于以下情况:
负责下载、解析、验证和存储(XML 或 JSON 派生)数据的 DataModel 类,
一个 ViewController 类,它将实例化单个 DataModel 对象,并且需要随着时间的推移从该 DataModel 获取信息(例如更新视图以反映模型中的更改)
问。处理模型数据更改通知以及将该数据提供给 View Controller 的最佳做法是什么?
我见过的方法包括:
Model 类发布通知,提供通知的 userInfo 字典中的数据。视图控制器监听通知,查看用户信息。例如Apple 的 SeismicXML 示例代码。
Model类定义了一个Protocol,ViewController作为代理,响应Model的具体协议方法。
Model 类保存一个指向 View Controller 的指针,直接调用 View Controller 中的方法或属性。 (我必须说,我不喜欢这个,因为它需要模型和控制器之间的紧密绑定。)
我倾向于通知方法,但想听听其他人的意见。
【问题讨论】:
标签: ios cocoa design-patterns model-view-controller