2014-04-22 10 views
0

그래서 Apple의 핵심 데이터 가이드 및 스택에 관한 질문을 통해 읽었으며 모두 정확하지만 내 머리 속에서 "클릭"하지는 않습니다.ios 핵심 데이터 특정 값 가져 오기

저는 Books의 일대 다 관계가있는 BookShop을 가지고 있습니다.

"Jenny 's BookShop"이라는 서점과 "BigWorld Books"라고하는 서점에 입력했습니다.

내가이 '새 책방'에 '새 책'을 추가 할 방법입니다

BookShop *myBookShop = [NSEntityDescription insertNewObjectForEntityForName:@"BookShop" inManagedObjectContext:context]; 

myBookShop.books = [[NSMutableSet alloc]init]; 

Book *myBook = [NSEntityDescription insertNewObjectForEntityForName:@"Book" inManagedObjectContext:context]; 

myBook.BookShop = myBookShop; 

[myBookShop addBookObject : myBook이라는]

"제니의 서점"이 아니라 "BigWorld Books"에만 속하기를 원한다고 말하십시오.

나는 가져 오기 요청을 사용하고 "BigWorld Books"에 대한 포인터를 가져 와서이 특정 서점에 책을 할당한다고 가정합니다. 이것은 내가 계속 망쳐 놓는 곳이다.

누군가가 이것을 "천천히"설명 할 수 있다면 크게 감사 할 것입니다.

편집 :

대답 : "엉망"어떻게 당신을

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@"]; 
     [request setPredicate:predicate]; 
     [request setFetchLimit:1]; 
     BookShop *resultBookShop = [[_managedObjectContext executeFetchRequest:request error:&error] lastObject]; 
     [myBook setBookShop:resultBookShop]; 
+0

을하고 있습니다 무슨 일 이니? 오류? 아무 가치 없어? – Chris

+0

나는 특정 책을 특정 서점에만 성공적으로 추가하는 것을 목표로하고 있지 않습니다. BookShop에 Book을 추가 할 때마다 모든 BookShops에 추가하는 것처럼 보입니다. 코드 스 니펫 예를 원하십니까? 그 이유는 내가 코드를 게시하지 않았기 때문에 다른 사람들이 내 것을 수정하는 것과는 대조적으로 어떻게하는지보고 싶기 때문입니다. – jkd359

+0

나를 도왔 던 다른 질문 : http://stackoverflow.com/questions/11572096/core-data-issue-checking-if-item-exists – jkd359

답변

0
//if BookShop with name BigWorld Books not existed, create. If existed, use it 
BookShop *bookshop = [self isExistedEntityWitName:@"BigWorld Books" entity:@"BookShop"]; 
if(!bookshop){ 
    //insertNewObjectForEntityForName 
}else{ 
    //bookshop is existed 
    //insert new book 
    Book *b = [NSEntityDescription insertNewObjectForEntityForName:@"Book" 
              inManagedObjectContext:context]; 
    //add new book (b) to NSSet of bookshop, and you have NSSet *books 
    bookshop.books = books; 
} 
+0

나는 이것에 대해 완전히 대답하기 위해 스택에서 찾은 또 다른 대답을 사용 해왔다. 질문, 감사합니다! 나는 내가 한 일을 게시하고 조금 옳다 고 표시 할 것이다! – jkd359

관련 문제