2010-11-18 5 views
1

그래서 여기에 문제가 있습니다 :CoreData 엔터티 행에 새 관계 추가하기

프로젝트에 2 개의 엔티티가 있습니다. 첫 번째는 조직이고 두 번째는 브랜드입니다. 그들은 1 대 다수 관계로 연결되어 있습니다. "조직은 여러 브랜드를 가질 수 있습니다."모든 것이 그 목표를 위해 작동합니다. 조직 및 Brandtableview 및 DetailView가있는 Tableview.

내가 원하는 것은 내가 좋아하는 브랜드와 함께 Favouritelist를 연결하는 내 앱에 즐겨 찾기 기능을 추가하는 것입니다. 따라서 엔티티 "Favourits"를 xcdatamodel에 추가했습니다. 모든 FavouriteList에는 이름이 있으며, 많은 관계가있는 "Brands"와 연결되어 있습니다. "Favouritelist는 여러 브랜드와 EBrand를 가질 수 있습니다"는 여러 Favouritelists에있을 수 있습니다.

새로운 목록을 만들려면 내가 addToFav 액션이 브랜드의 DetailView에서 다음 코드

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

을 가지고 있고 나는 Favouritelist의 관계와 브랜드의 브랜드를 업데이트합니다.

예 : 내가 그렇게 할 수있는 방법

"favoriten의 MeineFavouriten에"XY "이름으로 브랜드를 연결"?

답변

0

많은 관계는 집합이므로 간단한 setValue 호출을 사용할 수 있습니다. 대신 먼저 변경 가능 세트를 가져 와서 세트에 오브젝트를 추가 한 다음 변경된 세트를 값으로 설정해야합니다. 당신이 FavoriteList에 대한 클래스를 만드는 경우

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

, 당신은 3 줄의 코드를 작성하지 않고도 일대 관계에 쉽게 객체를 추가 할 수 있도록 방법을 얻을.

관련 문제