iOS - 如何从Core Data实体创建视图

时间:2012-01-20 18:33:10

标签: ios core-data uiview key-value-observing

我已在我的应用中实现了Core Data,并且我正在尝试找出从模型对象创建视图的最佳方法。

我的Cat模型对象具有以下属性:

@property (nonatomic, retain) NSString * image;
@property (nonatomic, retain) NSString * title;
@property (nonatomic, retain) NSString * desc;

我想创建一个Cat视图,将图像显示为UIImage,并将标题和描述显示为标签。我需要使用模型代理吗?我认为KVO也将参与进来。有人知道这方面的好教程吗?看起来这是一个常见的任务,但我能找到的唯一教程只是关于核心数据,并没有解释如何从数据创建视图对象。

1 个答案:

答案 0 :(得分:3)

您使用Model对象将Cat View对象与Cat Controller对象相关联。

您需要查找有关MVC的教程。

你可能有Binding的想法。将模型的任何更改绑定到视图的位置。 Cocoa有绑定,但仅限于Mac OS:

Cocoa Bindings

  

iOS不支持Cocoa绑定。相反,iOS使用目标操作模型的略微修改版本,这增加了处理代码中操作的灵活性。

那是来自:Porting from Cocoa

另请查看NSFetchedResultsController。这也可能是有趣的。

您必须创建自己的绑定类。在我工作的旧iOS项目中有一个。

Binding类将使用KVO并具有源键路径,目标键路径,源对象和目标对象。在初始化时,您将在源(您的模型)上设置KVO观察者,当它发生更改时,您使用目标键路径将该更改传播到目标(您的视图)。您将在控制器对象中创建Biding - 因为视图和模型不应该直接相互通信(错误的MVC)