我已在我的应用中实现了Core Data,并且我正在尝试找出从模型对象创建视图的最佳方法。
我的Cat模型对象具有以下属性:
@property (nonatomic, retain) NSString * image;
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * desc;
我想创建一个Cat视图,将图像显示为UIImage,并将标题和描述显示为标签。我需要使用模型代理吗?我认为KVO也将参与进来。有人知道这方面的好教程吗?看起来这是一个常见的任务,但我能找到的唯一教程只是关于核心数据,并没有解释如何从数据创建视图对象。
答案 0 :(得分:3)
您使用Model
对象将Cat View
对象与Cat Controller
对象相关联。
您需要查找有关MVC的教程。
你可能有Binding的想法。将模型的任何更改绑定到视图的位置。 Cocoa有绑定,但仅限于Mac OS:
iOS不支持Cocoa绑定。相反,iOS使用目标操作模型的略微修改版本,这增加了处理代码中操作的灵活性。
那是来自:Porting from Cocoa
另请查看NSFetchedResultsController
。这也可能是有趣的。
您必须创建自己的绑定类。在我工作的旧iOS项目中有一个。
Binding类将使用KVO并具有源键路径,目标键路径,源对象和目标对象。在初始化时,您将在源(您的模型)上设置KVO观察者,当它发生更改时,您使用目标键路径将该更改传播到目标(您的视图)。您将在控制器对象中创建Biding - 因为视图和模型不应该直接相互通信(错误的MVC)