我需要從另一個NSArray
生成NSNumber
的排序數組。我想使用sortedArrayUsingComparator:
方法。我發現蘋果的文檔在這個例子:更改排序順序 - [NSArray sortedArrayUsingComparator:]
NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) {
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
}];
在這裏,我只是提供比較的塊,這是罰款。排序本身 - 隱藏在我身邊的那個使用這個塊的位 - 似乎是上升的。
我想知道我是否可以要求不同的排序順序外這一塊,還是我只需要左右翻轉<
和>
的(或NSOrderedXXX
的)?
,這是好的。當然,但除非你有橙色裝飾它 - 用紅色耶穌基督墨跡寫的交通註釋說明你已經翻轉了這個命令,在某個時候,這可能是一個潛在的調試噩夢。 構建一個排序描述符會更有意義,並且會自我評論,除非性能會受到嚴重打擊。 –
@God排序描述符聽起來不錯,請提供一個用於比較的實現示例。 – zaph