[英]Sort an NSArray which contain custom objects
我有一個包含對象的NSArray
。 我的對象是這樣的:
@interface Personne : NSObject{
int _id;
NSString *name;
}
我有一個Web服務,可以通過名字返回給我。 例如; 當我點擊搜索欄並輸入“a”時,服務器將所有名稱中包含“a”的人返回給我,我將結果放入NSArray
。 現在我想對我的數組進行排序,並將名稱以“a”開頭的人放在我的數組的開頭,將其他人放在最后。 我怎樣才能做到這一點?
編輯:例如我有服務器的響應,如下所示:
marakech
arabie
malakit
arsenal
astonvilla
我想這樣排序:
arabie
arsenal
astonvilla
malakit
我想你需要一個NSMutableArray
,而不是NSArray
。 還要排序使用sortUsingSelector:
即首先你可以為你的Personne
類編寫一個方法- (NSComparisonResult)compare:(MyObj *)otherObj
,然后你就可以使用sortUsingSelector:@selector(compare:)
對可變數組進行sortUsingSelector:@selector(compare:)
您可以使用此方法:
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr
這需要一個比較器塊,然后您可以將您的排序標准放在塊中,如下所示:
mySortedArray = [myArrat sortedArrayUsingComparator: ^(id a, id b) {
//criteria;
return [a compare:b];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.