我正在尝试对 NSDictionaries 的 mutableArray 进行排序,目前我可以通过使用一个 objectForKey 值进行排序来做到这一点,但这样做的问题是很多这些值可能是相同的,所以我需要另一个 objectForKey 来对数组进行排序。我想知道,如果第一个 objectForKey 比较返回相同的值,我如何才能进入第二个 objectForKey 比较等等。
目前我正在这样做,它有效..但显然只有一个键。
[dataArrayOfDictionaries sortUsingComparator:^ NSComparisonResult(NSDictionary *d1, NSDictionary *d2)
{
NSString *n1 = [d1 objectForKey:@"DESCRIPTION"];
NSString *n2 = [d2 objectForKey:@"DESCRIPTION"];
return [n1 localizedCompare:n2];
} ];
在我的调查中,我尝试过这个 -
[dataArrayOfDictionaries sortUsingComparator:^ NSComparisonResult(NSDictionary *d1, NSDictionary *d2)
{
NSString *n1 = [d1 objectForKey:@"DESCRIPTION"];
NSString *n2 = [d2 objectForKey:@"DESCRIPTION"];
return [n1 localizedCompare:n2];
n1 = [d1 objectForKey:@"ID"];
n2 = [d2 objectForKey:@"ID"];
return [n1 localizedCompare:n2];
} ];
但是,这不起作用,因为它对描述进行排序,然后完全根据 ID 进行排序,如果描述键相同,我想要它然后按 ID 键对这些值进行排序.. 如果这不起作用,则进入列表钥匙直到它排序..我希望这是有道理的..任何帮助将不胜感激。