Совершенно очевидно, что вы создаете здесь несоответствие типов ...
Итак, в вашей модели базовых данных для Class Codegen установлено значение "Определение класса" или "Вручную / Нет"?
Если вы установили его на «Ручной / Нет», вы сможете проверить свой NSManagedObject
файл заголовка подкласса для вашей сущности ControlType
.
Возможно объявление для атрибута выглядит примерно так?
@property (nonatomic, retain) NSNumber * controlTypeID;
Если нет, для какого типа он установлен?
Если вы установили его в "Определение класса", вы не сможете проверить подкласс NSManagedObject
для вашей сущности ControlType
, однако я понимаю, что для базовых данных по умолчанию все целые числа (целое число 16, 32, 64) имеют тип NSNumber
.
Так или иначе, для вашего вызова нужно установить controlType.controlTypeID
для работы вам необходимо преобразовать числовое значение вашего атрибута controlTypeID
в тип, который Базовые данные могут преобразовать в вашу модель (и, следовательно, сохранить в постоянном хранилище).
Если мой думаю, это правильно, это может работать ...
controlType.controlTypeID = [NSNumber numberWithInt:[dic valueForKey:@"ControlTypeID"]]
Если это не так, может быть, я неправильно понял ... дайте мне знать.