Лучший способ установить правильные отношения для графа объектов, который вы описываете, состоит в том, чтобы создать сущность «Событие» и добавить связь (для согласованности и ясности), называть ее «художниками», которая будет иметь «к»много "соединение (которое вы установите в инспекторе модели данных в XCode);
Затем создайте сущность с именем" Artist "и аналогичным образом создайте связь под названием" events "с" to-many "отношение.
Теперь, в редакторе модели в XCode, выберите сущность «Событие» и установите соединение ее отношения «художники», под «Назначением», чтобы указать на сущность «Исполнитель».Сделайте то же самое для объекта «Artist» и установите его отношение «events», чтобы указать «Events».Обязательно установите также и обратные значения (т. Е. Обратное для «художников», установленное на «события», обратное для «событий», настроенное на «художники»).
Теперь «события» - это набор, который содержитСущности «Artist» и «Artist» - это набор, содержащий сущности «Event».Однако эти наборы НЕ являются изменяемыми.
Чтобы добавить сущность «Исполнитель» в набор «художники», сначала необходимо создать изменяемый набор прокси-серверов, подобный этому
NSManagedObject *someEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:context];
NSManagedObject *newArtist = [NSEntityDescription insertNewObjectForEntityForName:@"Artist" inManagedObjectContext:context];
NSMutableSet *artistMutableSet = [Event mutableSetValueForKey:@"artists"];
[artistsMutableSet addObject:newArtist];
Чтобы добавить событие«сущность к« событиям »установлена, вы делаете наоборот.