NsunknowneyException для существующего и немашенного ключа
-
11-12-2019 - |
Вопрос
Я получаю следующий вывод:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<NSManagedObject 0x21016610> setValue:forUndefinedKey:]: the entity MyEntity is
not key value coding-compliant for the key "aBooleanKey".'
.
Код, который работает до того, как я получаю выход, следующий:
self.name = [managedObject valueForKey:@"name"];
self.language = [managedObject valueForKey:@"language"];
self.ownerID = [managedObject valueForKey:@"ownerID"];
// the following line is the scope of the problem:
self.aBooleanKey = [[managedObject valueForKey:@"aBooleanKey"] boolValue];
.
Для меня это выглядит как опечатка или что-то, поскольку все остальные атрибуты сущности не вызывают никаких проблем.Но я проверил как двенадцать раз и не могу найти никакого цивочки или около того.Все выглядит правильно.И неделю назад все это работало просто хорошо - я ничего не изменил здесь.
Также есть несколько других мест, где я делаю вещи с генеракодицетагкодом, а также все остальные атрибуты работают просто, кроме этого.Я пытался удалить его в основном хранилище данных и выворачивать его, но он не решил проблему.
Есть ли другие причины этой ошибки?
Решение
Проблема довольно странная (иногда работает, иногда нет), поэтому я предложил бы изменить имя атрибута (например, booleanStatus
) и проверить, если проблема все еще сохраняется или нет.
Поскольку вы изменили модель, вам нужно удалить приложение и Ricreate.В качестве альтернативы вы можете выполнить автоматическую миграцию на основных данных.Как вы предпочитаете.
Надеюсь, это поможет.