没有什么神奇的,但它不是免费的,无论是。 :)你正在寻找-[NSArray sortedArrayUsingComparator:]
。如果您的阵列是NSMutableArray
,那么您可以使用-[NSMutableArray sortUsingComparator:]
。
比较器是一个返回NSComparisonResult
并取两个对象的块。下面是NSObjCRuntime.h
定义:
typedef NSComparisonResult (^NSComparator)(id obj1, id obj2);
块应该采取的对象,将它们转换成字典,从每个后提取NSValues到rects并返回比较X坐标字段的结果。
伪代码,假设NSMutableArray
:
[myArray sortUsingComparator:^(id obj1, id obj2) {
NSDictionary *dict1 = (NSDictionary *)obj1;
NSDictionary *dict2 = (NSDictionary *)obj2;
// Extract each of the NSValues
// Compare the x values
if (xValue1 == xValue2) return NSOrderedSame;
return (xValue1 < xValue2) ? NSOrderedAscending : NSOrderedDescending;
}];
YESSSSSSSSSSSSSS!我知道你们是魔术师!!!!!谢谢! – SpaceDog 2012-02-09 02:23:00