我有一个带有对象“XX”的可变数组,我想根据对象“XX”中包含的变量对数组进行排序(参见下面的对象结构)。
我想按照VALUE1,VALUE2然后按NAME对数组进行排序。
有什么办法吗?
@interface XX:NSObject{
float VALUE1;
float VALUE2
NSString* NAME;
}
@end interface
任何帮助,非常感谢!!! :-) 谢谢!
答案 0 :(得分:1)
您需要使用的是Comparator block。当你这样做时,这可用于对数组进行排序
array sortUsingComparator: ^(id objA, id obj2){
if(((XX*)objA).Value1 > ((XX*)obj2).Value1){
return (NSComparisonResult)NSOrderedDescending;
}else if(((XX*)objA).Value1 < ((XX*)obj2).Value1){
return (NSComparisionResult)NSOrderedAscending;
}else{
//keep comparing here, because value 1 are equal
}
//sorting logic goes here, returning a (NSComparisonResult) type here
}];