NSArray的NSArray成为NSArrays的NSDictionary

时间:2014-03-19 01:03:13

标签: ios objective-c uitableview nsmutablearray nsmutabledictionary

我已经基于原始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];
}

1 个答案:

答案 0 :(得分:1)

NSDictionary是一个无序集合。将内容存储在字典中时,您无法保留原始顺序(或任何顺序)。对于有序集合,您需要NSArray或NSOrderedSet。