-1

这是我的代码:

NSSortDescriptor *sortByName = [NSSortDescriptor sortDescriptorWithKey:@"contact_name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByName];    
arrayOfDictionary = [arrayOfDictionary sortedArrayUsingDescriptors:sortDescriptors];

显然这是行不通的,因为arrayOfDictionary它是一个NSMutableArray. 我环顾四周,我看到的字典数组的所有排序都是用非可变数组完成的。任何人都可以阐明我如何使用NSMutableArray.

4

3 回答 3

0
arrayOfDictionary = [arrayOfDictionary sortedArrayUsingDescriptors:sortDescriptors] mutableCopy];

虽然不是最好的方法,但会得到你想要的......

于 2013-11-04T20:12:53.713 回答
0

sortUsingDescriptors如果要对 Mutable 数组进行排序,可以使用。

于 2013-11-04T20:14:04.067 回答
0

如果您的字典数组包含contact_name您的代码应该几乎可以工作的键。请注意下面的简化需要更少的代码。

请注意,您可以使用sortedArrayUsingDescriptors. 您还可以使用 对可变数组进行排序sortUsingDescriptors

因此:

NSArray *newArray = [arrayOfDictionary sortedArrayUsingDescriptors:
   @[[NSSortDescriptor sortDescriptorWithKey:@"contact_name" ascending:YES]]];

// if you need it mutable:
NSMutableArray *mutableArrayOfDictionary = [NSMutableArray arrayWithArray:newArray];

或者

[mutableArrayOfDictionary sortUsingDescriptors:
   @[[NSSortDescriptor sortDescriptorWithKey:@"contact_name" ascending:YES]]];
于 2013-11-04T20:14:54.657 回答