//方法1,使用自帶的比較器
//compare是陣列自帶的比較方法
nsarray*array=[nsarrayarraywithobjects:@"3",@"1",@"2",nil];
nsarray*array2=[array sortedarrayusingselector:@selector(compare:)];
nslog(@"%@",array2);
結果是公升序排列
//方式二:使用塊完成排
nsarray*array =[nsarrayarraywithobjects:@"1bc",@"4b6",@"123",@"789",@"3ef",nil];
nsarray*sortedarray =[array sortedarrayusingcomparator:^nscomparisonresult(id obj1,id obj2)];
nslog(@"排序後:%@",sortedarray);
方法3:自定義排序
#import
@inte***ceperson:nsobject
@propertynsstring*name;
@propertyintage;
-(id)initwithnameandage:(nsstring*)aname and:(int)aage;
-(nscomparisonresult)comparepersonbyage:(person*)person;
-(nscomparisonresult)comparepersonbyname:(person*)person;
@end
#import "person.h"
@implementationperson
@synthesizename,age;
-(id)initwithnameandage:(nsstring*)aname and:(int)aage
returnself;
}
//自定義排序方法
-(nscomparisonresult)comparepersonbyage:(person*)person
returnresult;
}
-(nscomparisonresult)comparepersonbyname:(person*)person
returnresult;
}
-(nsstring*)description
@end
#import
#import "person.h"
intmain(intargc,constchar*argv)
return0;
}
方法四:高階排序
NSArray陣列內容排序
本文正對陣列內容為其他類物件和字串時,進行了排序操作。具體看看下面 deviceinfo.h inte ce deviceinfo nsobject property nonatomic,assign nsinteger sequenceid property nonatomic,strong ns...
NSArray陣列隨機排序
nsarray和nsmutablearray的區別是前者是不可變陣列,一旦陣列初始化完成以後,就只能對陣列進行查詢操作,而後者是可變陣列,陣列初始化完成以後,繼而可以進行增 刪 改 查操作。所以對於陣列的亂序排序,必須要在可變陣列中進行操作。具體 如下 陣列隨機排序 nsmutablearray r...
NSArray方法 排序
nsarray用來儲存物件的有序列表,可以放入任何型別的物件,但它有兩個限制 首先,它只能儲存oc的物件,不能儲存c中的基本資料型別,如 int float enum struct 和隨機指標 其次不能在nsarray中儲存nil。建立陣列 nsarray array1 一年級 二年級 三年級 四年...