我有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