CoreData Добавление нового отношения в строку сущности - PullRequest
1 голос
/ 18 ноября 2010

Так вот в чем проблема:

Мой проект получил 2 объекта. Первый - организация, второй - бренды. Они связаны с отношением 1 ко многим. «У организации может быть несколько брендов». Для этого все работает. Табличное представление с Организацией и Brandtableview и DetailView.

То, что я хочу, это добавить функцию избранного в мое приложение, где я соединяю любимый список любимых брендов. Поэтому я добавил Entity "Favourits" в xcdatamodel. Каждый список FavouriteList имеет имя и связан с «брендами», связанными многими со многими. «Список избранного может иметь несколько брендов и электронных марок» может быть в нескольких списках избранных.

для создания нового списка есть следующий код

currentFav = (favoriten*)[NSEntityDescription insertNewObjectForEntityForName:@"favoriten" inManagedObjectContext:managedObjectContext];
[currentFav setName:@"MeineFavoriten"]; [self saveAction];

В подробном представлении брендов у меня есть действие addToFav, и я хочу обновить бренд в брендах, связав его с избранным списком.

Пример: "Свяжите Бренд с именем" XY "с MeineFavouriten faviten"

Как я могу это сделать?

1 Ответ

0 голосов
/ 18 ноября 2010

Отношения ко многим - это наборы, поэтому вы можете использовать простой вызов setValue.Вместо этого сначала нужно получить изменяемый набор, добавить объект в набор, а затем установить измененный набор в качестве значения.

NSMutableSet *favoriteBrands=[aFavoriteList mutableSetValueForKey:@"brands"];
[favoriteBrands addObject:aNewBrandObj];
[aFavoriteList setValue:favoriteBrands forKey:@"brands"];

Если вы создаете класс для FavoriteList, вы получаете методы, которые позволяют легко добавлять объекты во многие отношения без необходимости писать три строки кода.

...