我有一个带有对象“XX”的可变数组,我想根据对象“XX”中包含的变量对数组进行排序(见下面的对象结构)。
我想按 VALUE1、VALUE2 和 NAME 对数组进行升序排序。
有什么办法吗?
@interface XX:NSObject{
float VALUE1;
float VALUE2
NSString* NAME;
}
@end interface
任何帮助,非常感谢!:-) 谢谢!
我有一个带有对象“XX”的可变数组,我想根据对象“XX”中包含的变量对数组进行排序(见下面的对象结构)。
我想按 VALUE1、VALUE2 和 NAME 对数组进行升序排序。
有什么办法吗?
@interface XX:NSObject{
float VALUE1;
float VALUE2
NSString* NAME;
}
@end interface
任何帮助,非常感谢!:-) 谢谢!
您需要使用的是一种叫做Comparator 块的东西。当你这样做时,这可以用来对你的数组进行排序
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
}];