2011-09-05 3 views
0

주소록의 일부 연락처의 NSString 이름을 포함하는 NSArray로 채워진 TableView를 셀의 detailTextLabel에 표시합니다. 해당 연락처의 일부 정보가 표시되어야합니다. 모든 셀에 대해 주소록의 모든 연락처를 배열에 복사하고 filteredArrayUsingPredicate 메서드를 사용하여 all_contacts 배열을 검색하여 현재 셀의 이름과 일치하는 연락처를 찾고 해당 RecordID를 반환 한 다음 detailTextLabel에 표시 할 정보를 가져옵니다. 그러나 tooooo가 느려지고 TableView가 부드럽게 스크롤됩니다. 이름과 일치하는 연락처를 찾는 가장 빠른 방법은 무엇입니까?연락처 일치하는 이름을 찾는 가장 빠른 방법은 무엇입니까?

답변

1

이름을 많이 검색해야하는 경우 배열 및 사전을 사용하여 개체를 추적 할 수 있으며 사전을 사용하여 이름별로 사람들을 조회 할 수 있습니다. 몇 가지 방법으로 두 클래스를 동기화하는 클래스입니다.

+0

맞다면 RecordID를 가치와 이름으로 사전에 키로 유지해야합니까? 그럴 수는 있겠지만, Predicate로 모든 연락처 배열을 필터링하는 것보다 빠르게 주소록에서 검색 할 수있는 방법을 알고 싶습니다. – Hadu