Reg*_*ent 15
如果您的数组是包含NSNumbers的NSArray:
NSArray *numbers = [NSArray arrayWithObjects:
[NSNumber numberWithInt:0],
[NSNumber numberWithInt:3],
[NSNumber numberWithInt:2],
[NSNumber numberWithInt:8],
nil];
NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES selector:@selector(localizedCompare:)];
NSArray *sortedNumbers = [numbers sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
Run Code Online (Sandbox Code Playgroud)
但请记住,这只是对NSArray进行排序的一种方法.
仅举几个NSArray的其他方法:
如果你的数组是包含int的ac int数组:
#include <stdio.h>
#include <stdlib.h>
int array[] = { 0, 3, 2, 8 };
int sort(const void *x, const void *y) {
return (*(int*)x - *(int*)y);
}
void main() {
qsort(array, 10, sizeof(int), sort);
}
Run Code Online (Sandbox Code Playgroud)
如果您的数组NSNumber
只有s 那么简单,则不需要排序描述符.如果它被调用array
,那么
[array sortedArrayUsingSelector:@selector(compare:)];
Run Code Online (Sandbox Code Playgroud)
将根据需要返回按递增顺序排序的新数组.