В чем разница между этими тремя классами [NSManagedObject , NSManagedObjectContext , NSManagedObjectModel ]
основных данных и как мы можем описать это проще всего?
Разница между NSManagedObject, NSManagedObjectContext и NSManagedObjectModel
Ответ 1
В терминах базы данных:
- NSManagedObject = строка
- NSManagedObjectContext = транзакция
- NSManagedObjectModel = схема
Конечно, Core Data не является базой данных.
Ответ 2
Из руководства по программированию CoreData:
Вы можете придумать managed object context
как интеллектуальную блокнот. Когда вы извлекаете объекты из постоянного хранилища, вы привозите временные копии на блокнот, где они образуют граф объектов (или набор графиков объектов). Затем вы можете изменить те объекты, которые вам нравятся. Если вы фактически не сохранили эти изменения, постоянное хранилище остается неизменным.
Ответ 3
context: вы можете указать места, где ваши объекты находятся после того, как вы прочитали его или перед тем, как вставить его в db
читайте эти потоки и понимайте разницу
Добавить экземпляр NSManagedObject в NSManagedObjectContext, обновить тот же экземпляр не удалось
Как скопировать или переместить NSManagedObject из одного контекста в другой?
http://www.cimgf.com/2011/01/07/passing-around-a-nsmanagedobjectcontext-on-the-iphone/
Ответ 4
Объект NSManagedObject из объекта и добавляет методы, необходимые для управления основными данными.
Контекст - это то, где объекты, которые управляются основными данными, сохраняются, что происходит, когда вы берете объект из базы данных или создаете для его сохранения
Объектная модель описывает схему coredata для постоянного хранилища
Ответ 5
NSManagedObjects представляют данные, хранящиеся в базе данных. Вы можете думать о них как о объектах модели.
NSManagedObjectContext позволяет вставлять, сохранять и извлекать (используя NSFetchRequest) NSManagedObjects из базы данных. "