У меня сложилось впечатление, что с помощью кодирования значения ключа я могу установить любой неопределенный атрибут для NSManagedObject во время выполнения, и не будет выдано исключение, но это будет способ хранения объектов, прикрепленных к модели, которых нет модель данных.
Например, у меня есть объект Foo, у которого нет атрибута "bar". Я думал, что во время выполнения я мог бы установить это так:
Foo *foo = [NSEntityDescription insertNewObjectForEntityForName:@"Foo" inManagedObjectContext:ManagedObjectContext];
[foo setValue:@"foobar" forUndefinedKey:@"bar"];
Я бы тогда ожидал, что ManagedObjectContext будет содержать это значение, пока я не запросил его позже, но сохранение в контексте управляемого объекта не сохранит значение бара.
Известная ошибка продолжает появляться, когда я запускаю этот код:
the entity Foo is not key value coding-compliant for the key "bar"
.. поэтому мой вопрос: что я не понимаю или делаю неправильно?