Я столкнулся с неожиданной ситуацией, когда управляемый объект сообщает неоднозначные результаты для isDeleted
в зависимости от того, является ли это ошибкой или нет:
(lldb) po myManagedObject.isFault
true
(lldb) po myManagedObject.isDeleted
false
(lldb) po myManagedObject.type // access some property to fire the fault
""
(lldb) po myManagedObject.isFault
false
(lldb) po myManagedObject.isDeleted
true
Редактировать: Я забыл упоминание - myManagedObject.managedObjectContext
- это , а не ноль.
Я бы ожидал, что isDeleted
будет согласованным, документация не говорит иначе.
Так как с этим бороться? Нужно ли запускать сбои перед проверкой, удален объект или нет? Или есть более глубокая ошибка на моей стороне, чтобы исследовать.
Любое понимание этого вопроса будет очень цениться.