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