iPhone SDK: Задать объект свойства отношения с помощью основных данных? - PullRequest
0 голосов
/ 13 марта 2010

Я использую основные данные в своем приложении. У меня есть две сущности, которые связаны между собой: EntityA и EntityB. EntityA имеет свойство типа «связь» с EntityB. Кроме того, обе эти сущности являются определенными классами (а не NSManagedObject по умолчанию). Я вставляю новый объект в мои данные следующим образом:

EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];

newEntityA.name = @"some name";
newEntityA.entityB.name = @"some other name";

Проблема в том, что entityB.name имеет значение null. Даже если я добавлю оператор NSLog () сразу после присвоения значения, он будет нулевым. Как правильно установить свойство "name" для EntityB, когда EntityB является свойством EntityA?

1 Ответ

1 голос
/ 13 марта 2010

Вам также необходимо сначала создать объект EntityB:

EntityA *newEntityA = [NSEntityDescription insertNewObjectForEntityForName:@"EntityA" inManagedObjectContext:self.managedObjectContext];

newEntityA.name = @"some name";

EntityB *newEntityB = [NSEntityDescription insertNewObjectForEntityForName:@"EntityB" inManagedObjectContext:self.managedObjectContext];

newEntityA.entityB = newEntityB;
newEntityA.entityB.name = @"some other name";
...