NSManagedObject разделяют на подклассы за пределами управляемого объекта как обычный объект

На основе этого восходящего отчета об ошибках Debian я сказал бы, что два cryptsetup предупреждающих сообщения не связаны с причиной отказа при начальной загрузке.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=641662

существует предположения, что удаление пакета канонической переписи устраняет проблему о неспособности открыться/scripts/casper-functions

http://ubuntuforums.org/showthread.php?p=9741353

12
задан Cœur 5 March 2017 в 14:47
поделиться

1 ответ

2-й абзац обзора документации класса NSManagedObject:

Управляемый объект связан с описание сущности (экземпляр NSEntityDescription), который обеспечивает метаданные об объекте (включая имя сущности, которую объект представляет и названия его атрибуты и отношения) и с контекст управляемого объекта, который отслеживает изменения графа объекта. это важно, чтобы управляемый объект правильно настроен для использования с Core Данные. Если вы создаете экземпляр управляемого объект напрямую, вы должны вызвать назначенный инициализатор (initWithEntity: insertIntoManagedObjectContext:).

Из документации метода:

Важно : Этот метод является назначенный инициализатор для NSManagedObject. Вы не должны инициализировать управляемый объект просто отправка его init.

На самом деле документация очень хороша.

Вы не хотите пытаться использовать NSManagedObject вне жизнеспособного стека CoreData. NSManagedObjects явно разработаны для работы в правильно настроенной среде Core Data. Если вам нужен временный экземпляр, вы можете либо создать хранилище в памяти, либо создать его в своем обычном хранилище и просто не сохраняйте изменения, не удалив сначала.

11
ответ дан 2 December 2019 в 21:23
поделиться