Есть разные возможности. Если у вас уже есть объект Category (например, полученный с помощью запроса на выборку), и предполагается, что переменные
Category *category;
Item *item;
тогда вы просто делаете следующее:
item.category = category;
или
[category setValue: category forKey:@"category"];
и все готово, поскольку Core Data автоматически устанавливает обратные отношения.
Если у вас нет объекта Category или вы хотите вставить новый, сделайте следующее:
// Create a new instance of the entity
Category *category = (Category *) [NSEntityDescription insertNewObjectForEntityForName:@"Category" inManagedObjectContext:managedObjectContext];
// add all of the category properties, then set the relationship
// for instance set the category name
[category setValue:@"myCategoryName" forKey:@"name"];
[category setValue:item forKey:@"item"];
Затем вы устанавливаете этот объект Category для вашего объекта Item точно так же, как и раньше.
Наконец, методы, которые вы показали, не используются Core Data за кулисами: эти методы доступны вам, так что вы также можете делать следующее:
[category addItemObject:item];
или обратное:
[item addCategoryObject:category];