2017-10-08 2 views
0

의 모든 책을 얻을 나는 두 가지 핵심 데이터 엔티티 (사람과 책) 나는 모든 책을 요청하고 싶습니다내가 맥 OS에 대한 신속한 네 함께 일하고 사람

, wehre 사람 == 최대 있습니다. 나는 모든 책을 가져올 수 있습니다이 코드 :

let request = NSFetchRequest<Book>(entityName: "Book") 
request.predicate = // 
request.sortDescriptors = [NSSortDescriptor(key: "bookName", ascending: true)] 
    do { 
     let books = try context.fetch(request) 
     print(books) 
    } catch { } 

을하지만 어떻게 난 단지 "최대"이름을 가진 사람에 할당 된 책을 얻을 수있는 조건을 사용할 수 있나요?

+0

당신이 한 번 봐 있었나요이다 " 핵심 데이터 프로그래밍 안내서에서 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/FetchingObjects.html의 "결과 필터링"을 참조하십시오. - 왜 Book 객체를 가져 오기 위해 NSFetchRequest 을 생성합니까? –

+0

이 문서가 도움이되지 않는다고 생각합니다. 나는 이제 다음과 같은 술어를 사용할 수있게되었다 :'request.predicate = NSPredicate (형식 : "bookName = % @", "MyBook")'그러나 나는 술어가 할당 된 사람을 얻는 방법을 알아야만한다. 책과의 관계에서 – Ghost108

+0

그냥 열쇠 경로를 따르십시오. 'NSPredicate (형식 : "person.name = % @", "Max")' –

답변

0
  • 는 일대일 사람,
  • 사람는 속성이
  • "firstName을"을 "사람"의 관계가 있습니다.

그래서 "Person.firstName에가" 소유하는 사람의 이름으로 책에서 키 경로이며, 당신이 찾고있는 술어가

NSPredicate(format: "person.firstName = %@", "Max")