为什么NSManagedObject和NSEntityDescription是单独的类?

时间:2011-03-30 07:03:31

标签: iphone cocoa core-data nsmanagedobject nsentitydescription

似乎NSEntityDescription对象描述数据,NSManagedObject对象包含相应的数据。如果您有一个普通的NSObject子类,那么数据和实际数据的描述都在同一个地方,不是它们。好吧,至少描述在类中,数据在对象中。您可以将对象视为对其包含的变量类型进行描述。

为什么Core Data会将描述数据的类和包含数据的类分开?它与断层有关吗?

1 个答案:

答案 0 :(得分:5)

  

如果你有一个正常的NSObject子类,那么数据的描述和实际数据都在同一个地方,不是它们。

没有。该类是对象的描述,实例是对象(包括其数据。

  

为什么Core Data会将描述数据的类和包含数据的类分开?它与断层有关吗?

不,这是因为模型的描述与符合模型的数据的实例化本质上是不同的。这是计算中的标准事物,例如对于SQL数据库,数据描述(DDL)不是数据(实际数据库)。使用XML,描述(模式或DTD)不是实际的XML数据。