这三类核心数据有什么区别,[NSManagedObject , NSManagedObjectContext , NSManagedObjectModel ]
我们如何用最简单的方式描述?
5 回答
在数据库方面:
- NSManagedObject = 一行
- NSManagedObjectContext = 一个事务
- NSManagedObjectModel = 架构
当然,Core Data 不是数据库。
来自 CoreData 编程指南:
您可以将 amanaged object context
视为智能便签本。当您从持久存储中获取对象时,您将临时副本带到便笺簿上,它们在此处形成对象图(或对象图的集合)。然后,您可以随意修改这些对象。但是,除非您实际保存这些更改,否则持久存储将保持不变。
NSManagedObjects 表示存储在数据库中的数据。您可以将它们视为模型对象。
NSManagedObjectContext 允许您从数据库中插入、保存和检索(使用 NSFetchRequest)NSManagedObjects。”</p>
上下文是您可能会在您阅读对象之后或将其插入数据库之前说您的对象所在的位置
有关更多信息,请简要阅读这些主题并了解差异
将 NSManagedObject 的实例添加到 NSManagedObjectContext ok,更新同一个实例失败
如何将 NSManagedObject 从一个上下文复制或移动到另一个上下文?
http://www.cimgf.com/2011/01/07/passing-around-a-nsmanagedobjectcontext-on-the-iphone/
NSManagedObject 继承自对象,并添加了需要由核心数据管理的方法。
上下文是保存由核心数据管理的对象的位置,当您从数据库中获取对象或创建以保存到它时会发生这种情况
对象模型描述了持久存储的核心数据模式