我有NSDictinary對象數組。 每個字典對象都有鍵「display_name」,「first_name」和「last_name」。 有些字典對象只有display_name,有些則不會。 有些字典對象只有first_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];
可以將某些一個導向我以正確的方式實現它?
我知道不同的方法來實現它......但我無法構建如何做到這一點的確切邏輯。 – Satyam 2011-05-03 09:43:39