2010-02-26 4 views
3

find-as-you-type 검색 막대에 대한 쿼리를 작성하려고합니다. 내가하고 싶은 일은 "Kind"질의이며, ('name'LIKE % @ AND localeIdentifier == % @)가있는 LocalName이있는 모든 종류를 반환합니다. 난 단지 (그래서 localeIdentifier 무시) 이름을 찾고 있어요 경우코어 데이터 다 대다 NSPredicate with AND

, 나는 이런 식으로 뭔가를 할 수 :

ANY localized.name LIKE %@ 

는 내가 원하는 것은 더

ANY localized.(name LIKE %@ AND localeIdentifier == %@) 

하는 요약하면 같은 것입니다 "Kind"를 검색하면 다 대다 관계 "localized"의 항목 중 하나는 name과 localeIdentifier와 일치해야합니다.

올바른 구문에 대한 아이디어가 있습니까?

답변

9

원하는 것은 subquery입니다. 술어 형식 구문에서 다음 SUBQUERY 표현이 세 번째 인수의 조건과 일치하는 self.localized 컬렉션의 인스턴스의 컬렉션을 반환

SUBQUERY(self.localized, $x, $x.name LIKE %@ AND $x.localeIdentifier == %@)[email protected] > 0 

. Kind이 SUBQUERY 표현식이 비어 있지 않은 인스턴스 (예 : @count > 0)가 원하는 기준과 일치해야합니다.

SUBQUERY 표현식이 OS X 10.5에서 도입되었습니다.

+0

감사합니다. 그게 내가 원하는거야. –

+0

큰 힌트! 정확히 필요한 것! – Sney

관련 문제