沒有什麼神奇的,但它不是免費的,無論是。 :)你正在尋找-[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