簡體   English   中英

如何在iPhone中對NSDictionary值進行排序

[英]How to sort NSDictionary value in iphone

我想對Dictionary值進行排序,以下是我的字典響應,該響應具有四個鍵值對,例如“ artist_id”,“ artworks_count”,“ first_name”,“ last_name”。 我想根據“ first_name”對它進行排序。 請幫我。

2012-03-02 16:10:41.299 Paddle8[4928:207] The currentArtistNameDict is-- >{
    "artist_id" = 370;
    "artworks_count" = 1;
    "first_name" = Gerri;
    "last_name" = Davis;
}
2012-03-02 16:10:41.300 Paddle8[4928:207] The currentArtistNameDict is-- >{
    "artist_id" = 369;
    "artworks_count" = 1;
    "first_name" = Stephen;
    "last_name" = Cimini;
}

2012-03-02 16:10:41.302 Paddle8[4928:207] The currentArtistNameDict is-- >{
    "artist_id" = 367;
    "artworks_count" = 1;
    "first_name" = Melinda;
    "last_name" = Buie;
}

2012-03-02 16:10:41.305 Paddle8[4928:207] The currentArtistNameDict is-- >{
    "artist_id" = 358;
    "artworks_count" = 7;
    "first_name" = Kcho;
    "last_name" = "<null>";
}

非常感謝任何幫助。

根據定義,NSDictionary對象是未排序的,因此最好在字典中進行迭代,然后將項目放入NSMutableArray中,然后使用sortUsingDescriptors方法對數組進行排序。

以下示例可能會有所幫助:

scores = [NSMutableArray arrayWithArray:[defaults
objectForKey:@"HighScores"]];
[scores addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Andrew", @"Name", [NSNumber           numberWithUnsignedInt:45], @"Score", nil]];
[scores addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"Andrew2", @"Name",     [NSNumber numberWithUnsignedInt:55], @"Score", nil]];
[scores sortUsingDescriptors:[NSArray arrayWithObject:[[[NSSortDescriptor alloc]    initWithKey:@"Score" ascending:NO] autorelease]]];

(摘自http://www.iphonedevsdk.com/forum/iphone-sdk-development/6146-sort-array-dictionary-objects.html

暫無
暫無

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

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