歡迎訪問我的新博客: 開發者說
對數組元素排序是使用任何編程語言都會遇到的一個問題,其中大部分已經提供了一些很方便的排序方法供我們使用,那麼iOS開發中有哪些方法可以讓我們實現對數組元素快速排序呢?
先定義一個數組,然後對其中元素進行排序:
NSArray *originalArray = [NSArray arrayWithObjects:[NSNumbernumberWithInt:5],
[NSNumber numberWithInt:6],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:4],
[NSNumber numberWithInt:1],
[NSNumber numberWithInt:2],
nil];
方法1:NSComparator
NSArray *sortedArray = [originalArray sortedArrayUsingComparator:^(NSNumber *number1,NSNumber *number2) {
int val1 = [number1 intValue];
int val2 = [number2 intValue];
if (val1 > val2) {
returnNSOrderedAscending;
} else {
return NSOrderedDescending;
}
}];
NSLog(@"%@", sortedArray);
方法2.NSSortDescriptor
NSSortDescriptor *descriptor = [[NSSortDescriptoralloc]initWithKey:nilascending:YES];
NSArray *sortArray = [NSArrayarrayWithObjects:descriptor,nil];
NSArray *sortedArray = [originalArray sortedArrayUsingDescriptors:sortArray];
NSLog(@"%@", sortedArray);
另:此博客將會慢慢停止更新,歡迎訪問我的新博客devsay.com進行技術探討。