我有一个包含一堆字典的数组,这些字典由两个名为name和value的键组成。
我正在尝试根据字典的名称键对数组进行排序 - 但字典中包含以错误顺序显示的丹麦字母(fx'aåbc',而不是'abc..å' ) - 如何使用丹麦字符正确排序?
NSSortDescriptor *nameSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
self.cityOptionsArray = (NSMutableArray *)[tempCityArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:nameSortDescriptor]];
答案 0 :(得分:1)
NSSortDescriptor
有一个初始化程序,允许您对它所操作的对象调用自定义比较方法。
在您的情况下,(并且由于您的密钥为NSStrings
),您要使用localizedCompare:
。
你可以像这样使用它:
NSSortdescriptor *nameSortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"name"
ascending:YES
selector:@selector(localizedCompare:)];
请在完成之后记得发布它。
如需进一步参考,请参阅 Sort Descriptor Programming Topics 。