iPhone Core Data: Инициализация Управляемого объекта без контекста

При помощи компиляции на лету, как этот пример шоу.

Или при помощи Бегут , который является по точно той же причине.

8
задан WillF 28 September 2009 в 16:40
поделиться

3 ответа

Управляемый объект "управляется" контекстом, поэтому вы не можете создать их экземпляр с помощью alloc, поскольку они не предназначены для этого. Однако создание экземпляра управляемого объекта через контекст не сохраняется до тех пор, пока вы вызываете метод save в контексте, поэтому вы получите тот же эффект, используя контекст для его создания, и сохраните его только после того, как вы выясните, что действительно хотите использовать объект.

5
ответ дан 5 December 2019 в 20:17
поделиться

Нет, вы не можете создать экземпляр NSManagedObject за пределами NSManagedObjectContext (ну, вы можете, но случаются неприятности, и ваша программа почти наверняка не будет работать так, как вы надеялись). Однако вы можете создать NSInMemoryPersistentStore -backed NSManagedObjectContext . Это немного больше настройки (не намного), и все исчезает, когда вы освобождаете хранилище в памяти. Тем временем вы получаете все преимущества управления графом объектов Core Data.

2
ответ дан 5 December 2019 в 20:17
поделиться

Вы, вероятно, стремитесь к множеству контекстов. Вы можете создать дополнительный контекст «блокнота», а затем объединить любые изменения обратно в основной контекст. Один из примеров проектов Apple iPhone выполняет именно эту задачу. Вам нужно будет войти в центр разработки, чтобы найти его.

0
ответ дан 5 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: