Здесь есть несколько проблем.
Модель данных показывает, что каждый из объектов Make
и Model
имеет отношение один к одному с Car
. Следовательно, может быть только один Car
для каждого Make
и только один Car
для каждого Model
. Другими словами, учитывая, что модель данных, Nissan может сделать только один Car
. Вы, вероятно, хотите иметь отношение cars
ко многим в Model
, чтобы Nissan мог создать более одного Car
. То же самое с Make
, так что может быть более одного Car
с данным Make
.
Неверный способ вставки NSManagedObject
в контекст управляемого объекта. Это должно быть сделано так:
Car *car = [NSEntityDescription
insertNewObjectForEntityForName:@"Car"
inManagedObjectContext:self.managedObjectContext];
Наконец, ваш код показывает, что для каждого Car
создаются новые сущности Make
и Model
. Если вы начинаете с имени Make
, вы, вероятно, захотите выполнить поиск в контексте управляемого объекта для Make
с соответствующим именем. Если найдено, просто установите отношение make
нового Car
к объекту Make
, который уже находится в контексте. Если он не найден, создайте новый объект Make
и установите для него отношение.