При помощи компиляции на лету, как этот пример шоу.
Или при помощи Бегут , который является по точно той же причине.
Управляемый объект "управляется" контекстом, поэтому вы не можете создать их экземпляр с помощью alloc, поскольку они не предназначены для этого. Однако создание экземпляра управляемого объекта через контекст не сохраняется до тех пор, пока вы вызываете метод save в контексте, поэтому вы получите тот же эффект, используя контекст для его создания, и сохраните его только после того, как вы выясните, что действительно хотите использовать объект.
Нет, вы не можете создать экземпляр NSManagedObject
за пределами NSManagedObjectContext
(ну, вы можете, но случаются неприятности, и ваша программа почти наверняка не будет работать так, как вы надеялись). Однако вы можете создать NSInMemoryPersistentStore
-backed NSManagedObjectContext
. Это немного больше настройки (не намного), и все исчезает, когда вы освобождаете хранилище в памяти. Тем временем вы получаете все преимущества управления графом объектов Core Data.
Вы, вероятно, стремитесь к множеству контекстов. Вы можете создать дополнительный контекст «блокнота», а затем объединить любые изменения обратно в основной контекст. Один из примеров проектов Apple iPhone выполняет именно эту задачу. Вам нужно будет войти в центр разработки, чтобы найти его.