У меня есть массив NSDictinary объектов.Каждый объект словаря имеет ключи «display_name», «first_name» и «last_name».Некоторые объекты dict имеют только display_name, а некоторые - нет.Некоторые объекты dict имеют только first_name, а некоторые - нет.У некоторых объектов dict есть только last_name, а у некоторых нет.
Я использую этот массив для отображения списка в табличном представлении.То, что я ищу, - это отсортировать диктовку со следующими предпочтениями: 1. Если отображаемое имя доступно, используйте его.2. Если отображаемое имя недоступно и имя доступно, используйте его.3. иначе фамилия.
Как мне отсортировать массив, используя вышеуказанные предпочтения.Я хочу использовать NSPredicate, приложение должно работать и на более старой iOS ....
Я пробовал различные комбинации NSPredicate, как показано ниже, но у меня ничего не получилось:
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];
Может ли кто-нибудь правильно направить меня к достижению этого?