簡體   English   中英

對包含自定義對象的NSArray進行排序

[英]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:)

檢查一下 - 如何使用自定義對象對NSMutableArray進行排序?

您可以使用此方法:

- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr

這需要一個比較器塊,然后您可以將您的排序標准放在塊中,如下所示:

mySortedArray = [myArrat sortedArrayUsingComparator: ^(id a, id b) {
    //criteria;
    return [a compare:b];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM