NSDictinary 개체 배열을 사용하고 있습니다. 각 사전 객체에는 "display_name", "first_name"및 "last_name"키가 있습니다. 일부 dict 개체에는 display_name 만 있고 일부 개체에는없는 개체가 있습니다. 일부 사전 개체는 first_name 만 있고 일부 개체는 갖지 않습니다. 일부 dict 개체에는 last_name 만 있고 일부 개체에는 없습니다.iPhone - 사전에서 사용 가능한 데이터를 기반으로 NSArray를 정렬합니다.
테이블보기로 목록을 표시하려면이 배열을 사용하고 있습니다. 내가 찾고있는 것은 선호도에 따라 사전을 정렬하는 것입니다 : 1. 표시 이름을 사용할 수 있으면 그것을 사용하십시오. 2. 표시 이름을 사용할 수없고 이름을 사용할 수 있으면이를 사용하십시오. 3. 다른 성.
어떻게 위의 기호를 사용하여 배열을 정렬 할 수 있습니까? 나는 다음과 같은 자 NSPredicate의 다른 조합을 시도
.... 응용 프로그램뿐만 아니라 이전의 iOS에서 작동하는 자 NSPredicate를 사용하려면,하지만 난 succeeed하지 않았다 :
NSSortDescriptor* firstNameDescriptor;
NSSortDescriptor* lastNameDescriptor;
NSSortDescriptor* displayNameDescriptor;
displayNameDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"display_name" ascending:YES];
lastNameDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"last_name" ascending:YES];
firstNameDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"first_name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:firstNameDescriptor, lastNameDescriptor,nil];
self.contactsArray = (NSMutableArray*)[tempArray sortedArrayUsingDescriptors:sortDescriptors];
수있는 하나의 가이드를 그것을 달성하기 위해 올바른 방법으로 나를?
sortedArrayUsingFunction : 문맥 :
나는 그것을 달성하는 여러 가지 방법을 알고 있지만 ... 나는 그것을하는 방법의 정확한 논리를 짜맞출 수 없다. – Satyam