2010-11-18 57 views
1

所以這裏的問題:CoreData將一個新的關係添加到實體行

我的項目有2個實體。第一個是組織,第二個是品牌。他們與1對多關係相關。 「一個組織可以有多個品牌」一切都在爲此工作。與組織和BrandViewview和DetailView的Tableview。

我想要的是添加收藏夾功能到我的應用程序,我用我喜歡的品牌連接Favouritelist。 因此我將實體「Favourits」添加到xcdatamodel。每個FavouriteList都有一個名稱,並且與「品牌」有着多對多的關係。「一個Favouritelist可以有多個品牌和EBrands」可以在多個Favouritelists中。

創建一個新的列表有下面的代碼

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

在品牌我有一個addToFav行動的DetailView,我想與關係到Favouritelist更新品牌的品牌。

例: XY「與名稱鏈接品牌‘’來法沃裏滕的MeineFavouriten」

我怎樣才能做到這一點?

回答

0

設置多對多關係,因此您可以使用簡單的setValue調用。相反,你首先必須得到一個可變集合,向該集合中添加一個對象,然後將該變異集合設置爲該值。

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

如果您創建FavoriteList一類,你可以讓你輕鬆地添加對象一對多關係,而無需編寫三行代碼的方法。

相關問題