Когда вы определяете отношение в модели данных, набор определяется в заголовке содержащего объекта. Просто добавьте или удалите элементы из набора, используя обычные методы NSMutableSet.
Чтобы добавить новый управляемый объект, вы сделаете что-то вроде:
Task* newTask = [NSEntityDescription insertNewObjectForEntityForName:@"Task" inManagedObjectContext:self.managedObjectContext];
Если вы возьмете образец Location от Apple и поработаете оттуда, вы его озадачите, хотя он не содержит никаких связей. Чтобы все это заработало, просто измените свою модель данных на то, какой она должна быть, и не думайте об этом как о связях, просто думайте об этом как "A имеет NSMutableSet of B". Поскольку вы определили обратную связь как рекомендованную документацию, вам не нужно думать о том, что B имеет в отношении A, просто начните думать в терминах B, когда это объект, который имеет значение для вас.
Допустим, у вас есть объект Airport, у которого есть объект Board (и представьте, что вы задали пункт отправления и назначения в Flight с помощью переменной routingArray
, затем просто создайте свои объекты Flight по мере необходимости и установите отношения как:
Flight* newFlight = [NSEntityDescription insertNewObjectForEntityForName:@"Flight" inManagedObjectContext:self.managedObjectContext];
[newFlight setRoute:routingArray];
[Airport.Board.flights addObject:newFlight];
Когда рейс отменен (проклинаю вас, Юнайтед!), Вы можете просто удалить Рейс из этого набора, и любой, кто попытается получить доступ к объекту, где он был, видит ноль, так что вы можете весело испортить день пассажиров. 1012 *