數組排序-NSSortDescriptor · 數組
該類可以方便的實現對數組中的對象進行升序或者降序的排序。它能夠把元素的某個屬性做爲key進行升序或降序的排序,每個NSSortDescriptor 對象就是一個排序條件。 函數
建立數組對象spa
NSArray *array = @[@「zhonger」, @honghuang」,@「bada」];對象
建立排序條件 排序
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES]; · · ip
數組根據排序條件進 排序it
NSArray *resultArray = [array sortedArrayUsingDescriptors:@[descriptor]];table
其餘數組排序方法 class
不可變數組排序 select
不可變數組排序:(排序結果造成新數組, 原數組不改變) - (NSArray *)sortedArrayUsingSelector: (SEL)comparator; 注:SEL類型的參數comparator:須要傳一個返回結果是NSComparisonResult的方法名。
例:
NSArray *array = @[@「zhonger」, @「bada」, @「honghuang」,@「qiuxiang」];
NSArray *newArray = [array sortedArrayUsingSelector:@selector(compare:)];
可變數組排序
可變數組排序:(直接對原數組操做)- (void)sortUsingSelector:(SEL)comparator;
注:SEL類型的參數comparator:須要傳一個返回結果是NSComparisonResult 的函數 注意:可變數組排序 法與不可變數組
NSMutableArray *array = [@[@「zhonger」, @「bada」, @「honghuang」,@「qiuxiang」] mutableCopy];
[array sortUsingSelector:@selector(compare:)];