2010-11-18 3 views
1

Итак, вот в чем проблема:CoreData Добавление новой привязки к сущности Entity

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

Что я хочу, так это добавить функцию «Избранное» в мое приложение, где я подключаю Favouritelist с брендами, которые мне нравятся. Поэтому я добавил объект «Фаворит» к xcdatamodel. У каждого FavouriteList есть имя, и оно связано с «Брендами» со многими отношениями. «У Favouritelist может быть несколько брендов и EBrands» может быть в нескольких Favouritelists.

, чтобы создать новый список следующий код

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

В DetailView брендов у меня есть addToFav Action и я хочу, чтобы обновить бренд в Brands с отношением к Favouritelist.

Пример: «Свяжите марка с названием„XY“для MeineFavouriten Фаворитен»

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

ответ

0

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

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

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

Смежные вопросы