【发布时间】:2014-03-19 01:03:12
【问题描述】:
我已经根据原始 NSArray 中的 NSDictionaries 中的 keyValue 创建了一个 NSArrays 的 NSDictionary。但是我有一个问题,原始 NSDictionary 中的值都是字符串但包含数字。
这是一个问题的原因是因为我排序的 NSMutableArray 看起来像这样
1
2
3
4
5
6
7
8
9
10
11
12
... etc
问题是它被排序到像这样的数组的 NSDictionary 中
1
10
11
12
2
3
4
5
6
7
8
9
我想知道如何保持在 NSDictionaries 的原始 NSMutableArray 中找到的原始顺序?
这就是我创建数组的 NSDictionary 的方式。
NSMutableDictionary *sortedDictionaryArraysForTableView = [NSMutableDictionary dictionary];
for (NSDictionary *dict in xmlMArray) {
NSString *currentNumberString = [dict objectForKey:@"Number"];
if(![[sortedDictionaryArraysForTableView allKeys] containsObject:currentNumberString])
sortedDictionaryArraysForTableView[currentNumberString] = [NSMutableArray array];
[sortedDictionaryArraysForTableView[currentNumberString] addObject:dict];
}
【问题讨论】:
-
NSDictionnary 不适用于索引,因此您无法对它们进行排序
-
我看不出转换为字典有什么帮助,但是使用包含 NSNumericSearch 选项的排序来进行 NSString 比较会有所帮助。
标签: ios objective-c uitableview nsmutablearray nsmutabledictionary