2012-05-15 52 views
0

我想尝试按NSMutableDictionary的值排序,其中的密钥是price,其中NSMutableArray的人是。如何根据NSMutableDictonary的值对NSArray进行排序

这样的...

people = [ 
    ["price" => 133, "name" => "banana"], 
    ["price" => 333,"name" => "apple"], 
    ["price" => 3, "name" => "orange"], 
] 

我想是这样的:

copiedPeople = [ 
    ["price" => 3, "name" => "orange], 
    ["price" => 133,"name" => "banana"], 
    ["price" => 333, "name" => "apple"], 
] 

你有什么想法?

回答

1

sortUsingComparator:让你传入一个说明如何对项目进行排序的块。所以,你可以这样做:

[people sortUsingComparator: ^NSComparisonResult(id obj1, id obj2) { 
    return [[obj1 objectForKey: @"price"] compare: [obj2 objectForKey: @"price"]]; 
}]; 

编辑:刚才看到您的编辑...你可以使用sortedArrayUsingComparator:的NSArray上创建一个新的有序数组。

+0

谢谢!这个很酷! – nobinobiru

相关问题