iOS - 目标C,通过键名对NSDictionary的NSArray进行排序

问题描述:

如何根据NSDictionary的键名对NSArray的字典进行排序。iOS - 目标C,通过键名对NSDictionary的NSArray进行排序

可以说,NSArray中的JSON格式

[ 
{ 
    "keyName" : "C", 
    "value" : "0.1" 
}, 
{ 
    "keyName" : "A", 
    "value" : "1.1" 
}, 
{ 
    "keyName" : "B", 
    "value" : "2.1" 
} 
] 

排序中的iOS字典的数组是很容易简单NSSortDescriptor做演练。

[yourArray sortUsingDescriptors:[NSArray arrayWithObjects:[NSSortDescriptor sortDescriptorWithKey:@"keyName" ascending:YES], nil]]; 

您可以使用sortedArrayUsingComparator

NSArray *sortedArray; 
sortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { 
Dictionary *dictoinary1 = (Dictionary*)a; 
Dictionary * dictoinary2 = (Dictionary*)b; 
return [[dictoinary1 objectForKey:@"keyName"] caseInsensitiveCompare:[dictoinary2 objectForKey:@"keyName"]]; 
}];