Я работаю над приложением Cocoa -Touch, он использует CoreData и имеет некоторые подклассы NSPersistentObject, созданные редактором модели XCode.
Я заметил, что в последнее время при сохранении контекста я получаю сообщение об ошибке, которое имеет в качестве информации пользователя следующую часть:
(gdb) po ui {
"Dangling reference to an invalid object." = <null>;
NSAffectedObjectsErrorKey = <dump #1 of someObject>;
NSLocalizedDescription = "Operation could not be completed. (Cocoa error 1550.)";
NSValidationErrorKey = <someKey pointing to someObject #1>;
NSValidationErrorObject = <dump #2 of someOtherObject which points to the dump #1 object>;
NSValidationErrorValue = { <list of someMoreObjects> };
}
В словаре пользовательской информации есть другие ключи.
Все дампы, которые я получаю, являются допустимыми объектами, я проверил их все.
NSValidationErrorObject
- это объект, который имеет NSSet
, который содержит объекты типов, сбрасываемых в NSAffectedObjectsErrorKey
и NSValidationErrorValue
. Но все эти объекты действительны.
Кроме того, это происходит случайным образом, иногда это случается, иногда нет, и иногда список, сбрасываемый в NSValidationErrorValue
, длиннее, иногда короче.
Я не знаю, почему это происходит, или что именно происходит с ошибкой. Кто-нибудь знает, что происходит? Любые идеи, которые могут вызвать эту странную ошибку?