核心数据 - 托管对象问题

时间:2010-12-19 17:31:29

标签: objective-c core-data

我有两个关于核心数据的基本问题;

  1. 托管对象究竟是什么 - 它是否等同于1个类的实例。例如,如果存在一个名为Shape的实体,该实体具有诸如“无”和“无”之类的属性。颜色,如果表中显示5个条目,是否意味着有5个管理对象,每个对象具有属性no。双方和颜色。我对这个基本概念感到有点困惑。

  2. 获取结果控制器(FRC)与表格视图之间的关系究竟是什么?我知道委托方法,但表格视图究竟是如何影响/与FRC相关的?

  3. 任何基本示例都非常有用。谢谢。

2 个答案:

答案 0 :(得分:0)

Q1。托管对象是应用程序持久保存的某个实体的表示形式。它只是一个远离实际持久化类型的通用抽象。所以你说管理对象具有与具体类型相同的键/属性是正确的。当NSManagedbject类实现键值编码模式时,您可以在运行时查询其键/值...

- (id)valueForKey:(NSString *)key

有关NSManagedObject的完整文档,请参阅here

Q2。获取的结果控制器是你的UIViewController对你的UIView。它包含控制表视图持久性的逻辑。它的唯一目的是将数据库处理逻辑保留在UITableView之外。它允许您在UITableView的上下文中定义要执行的行为。我的意思是它的委托提供的方法带有明确暗示对UITableView产生影响的签名。

答案 1 :(得分:0)

Q1。是的,有5个托管对象可供您使用。如果你愿意,你可以把所有五个放在一个数组中。托管对象只是一个术语,意味着您可以使用代码来管理数据库中的插入,更改和删除操作 - 换句话说,某些代码会在其生命周期中对其进行管理。你通过FRC得到它,FRC ^从数据库中提取对象的实例,并允许你的代码^控制^结果^会发生什么。因此这个名字。