如何使用 Firt_name 键对数组进行排序。
我使用了此代码,但没有用。
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"user.first_name"ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sortDescriptors];
{
"created_at" = "";
"updated_at" = "";
user = {
"first_name" = Gary;
"full_contact" = "null 5555555555";
"full_name" = "Gary123";
};
},
答案 0 :(得分:1)
通过使用NSSortDescriptor,你可以做到这一点。
NSSortDescriptor对象描述了按对象排序的基础 指定用于比较对象的属性,方法为 用于比较属性,以及是否应该进行比较 上升或下降。 NSSortDescriptor的实例是不可变的。
+(NSMutableArray *)SortArray : (NSMutableArray *)arrOriginal{
NSSortDescriptor *sortDescriptor;
sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"Firt_name" ascending:YES
comparator:^(id obj1, id obj2) {
return [obj1 compare:obj2 options:NSNumericSearch];
}];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [arrOriginal
sortedArrayUsingDescriptors:sortDescriptors];
[arrOriginal removeAllObjects];
[arrOriginal addObjectsFromArray:sortedArray];
return arrOriginal;
}
希望它会有所帮助。
答案 1 :(得分:0)
您可以尝试下面的代码行并检查:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"user.first_name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
NSArray *sortedArray=[array sortedArrayUsingDescriptors:sortDescriptors,nil]];
您可以在以下链接中详细了解NSSortDescriptor
: