У меня есть класс данных ядра с этой варом:Основные данные управляемые вара, кажется, инициализируются вместо нулевой
@NSManaged var tags: NSSet?
Проблема в том, что, когда класс извлекается из хранилища данных, метки переменных вместо nil, инициализируется пустым объектом NSSet.
Это нормально?
Я думал, что это будет ноль.
Обновление и вопрос: Я проверил с поведением базового атрибута данных, и он равен нулю после извлечения.
Возможно ли, что для отношений, которые являются NSSet/NSOrderedSet, данные ядра не используют nil, а инициализируют пустой набор?
Thanks Ron. Поэтому кажется, что я должен проверить длину набора, а не ноль, в таких случаях, как мой. И для управляемых объектов я должен проверить «isFault». Это правильно? – Shay
@ Если вы не должны звонить, это ошибка напрямую. Как только вы получаете доступ к управляемому объекту, ошибка должна срабатывать и разрешать его. Так что счетчик будет работать, чтобы узнать, сколько там тегов. – Ron
Если вы хотите просто подсчитать теги перед их загрузкой, вы можете использовать countForFetchRequest или NSManagedObjectContext https://developer.apple.com/library/ios/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/index.html # // apple_ref/occ/instm/NSManagedObjectContext/countForFetchRequest: ошибка: – Ron