2014-03-06 270 views
-1

假設我有一個由6個字典組成的數組 - 每個字典都有一個帶有相關值的「位置」鍵。我怎樣才能將這些值排序在一起,所以我可以從這裏...按鍵值對字典數組排序

"location" : USA 
"location" : UK 
"location" : Asia 
"location" : UK 
"location" : USA 
"location" : Asia 

to this?

"location" : Asia 
"location" : Asia 
"location" : UK 
"location" : UK 
"location" : USA 
"location" : USA 
+0

這是不可能的排序裏面的NSDictionary鍵 - 值對。唯一的方法 - 循環遍歷NSDictionary和存儲對, – Avt

回答

0

我猜sortedArrayUsingComparator:方法是你在找什麼:

NSArray *array = @[@{@"location" : @"USA"}, 
        @{@"location" : @"UK"}, 
        @{@"location" : @"Asia"}, 
        @{@"location" : @"UK"}, 
        @{@"location" : @"USA"}, 
        @{@"location" : @"Asia"}]; 
NSArray *sortedArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { 
    return [[obj1 valueForKey:@"location"] compare:[obj2 valueForKey:@"location"]]; 
}];