【发布时间】:2012-03-01 19:59:53
【问题描述】:
Model View Controller 政策规定视图不能拥有数据,并且应该使用委托从 ViewController 请求数据。
但是例如 UILabel 呢?控制器直接与 Outlet 对话,例如:
self.textfield.text=@"显示此文本"。 (这里没有delegate?UILabel也是一种视图?)
【问题讨论】:
标签: iphone ios delegates protocols
Model View Controller 政策规定视图不能拥有数据,并且应该使用委托从 ViewController 请求数据。
但是例如 UILabel 呢?控制器直接与 Outlet 对话,例如:
self.textfield.text=@"显示此文本"。 (这里没有delegate?UILabel也是一种视图?)
【问题讨论】:
标签: iphone ios delegates protocols
对于像在 UILabel 中设置文本这样简单的事情,委托会变得不必要地复杂。
使用 UILabel 破坏 MVC 的一个示例是使用它的 text 属性作为应用中其他地方使用的一段数据的唯一存储。例如,如果应用程序涉及到一个人的姓名和其他信息,这些信息与 UILabel 一起显示,那么您很可能应该将 Person 类作为模型的一部分,而不是使用 UILabel 作为该信息的专有存储。
【讨论】:
这基本上意味着UILabel 不应该修改提供要显示的文本的基础数据。控制器也是如此,它只能充当数据到视图的桥梁。
【讨论】: