2012-06-06 1 views
2

ABPerson 방법 searchElementForProperty:...을 사용하여 중간 정도의 복잡한 검색을 만들려고합니다. 특히, 이메일 주소가 "foo.com"으로 끝나고 미리 채워진 그룹 "My workunit"의 일부가 아닌 사람들을 찾고 싶습니다.코코아를 통한 주소록 검색 요소의 복잡한 사용

전자 메일 주소와의 일치는 사소한 것으로 보입니다. 그룹 멤버십의 역수에 대한 연결을 생성하는 것은 불가능 해 보입니다.

네, 명백한 명시 적 크로스 검사를 수행하여이 작업을 수행 할 수 있지만 검색 기능이 주소록에 직접있는 것이 성능을 최적화하는 것이라면 검색 기능이 충분히 적합하지 않습니까 이 일을 완성 할 수 있을까요? 사전에

감사합니다, 코어 데이터 저장 및 사용에 토니

답변

1

당신은 잠재적으로 주소록에서 모든 데이터를 복사 할 수는 데이터로 작업하는 술어. 술어는 복잡한 쿼리를 작성할 때 매우 유용합니다. 이 경우

Predicate Programming Guide

모든 연락처 ([[AddressBook sharedAddressBook] people])를 얻고 또한 코어 데이터 엔티티 Contact (또는 비슷한)이 ABPerson에서 이름, 이메일, 주소 및 기타 속성을 절약 할 수라고해야 할 것이다 목적.

이렇게하면 NSPredicate을 만들어 원하는 조건으로 필터링 할 수 있습니다.

0

그룹은 recordId에 따라 해당 멤버를 참조합니다. 이러한 작업을 수행하는 유일한 방법은 여기에 있습니다 : how to find parent groups of a person. 우리가 원하는 것처럼 간단한 것은 아닙니다. 애플은 매우 유용 할 그룹 검색에 관심이없는 것 같다.