我的样本数据如下
1 -> Apple
2 -> Banana
3 -> Cherries
4 -> Guava
5 -> Apple
..........
..........
现在,我需要将它存储在目标C的数据结构中。如您所见,键是数字的,值是NSString
类型。通常会使用字典,但在这种情况下,我不能,因为 键 不是字符串。
我开始使用NSMapTable
。只有NSMapTable的问题是,没有简单的方法来操纵诸如[NSDictionary allKeys]
之类的东西。
我确实看到了一个名为[Maptable keyEnumerator]
的内容,但keyEnumerator
看起来不像是可以排序的。所以我对在这种情况下使用的最佳数据结构缺乏想法。任何建议都是受欢迎的。
答案 0 :(得分:2)
如果您使用NSArray
,则需要维护插入顺序,以将索引用作键。
由于NSMutableDictionary
仅用于处理对象,因此一种简单的方法是将整数或浮点数包装在NSNumber
对象中。
NSMutableDictionary *testDictionary = [[NSMutableDictionary alloc] init];
[testDictionary setObject:@"Apple"
forKey:[NSNumber numberWithInt:1]];
NSLog(@"Test dictionary: %@", testDictionary);
答案 1 :(得分:2)
您可以NSNumber
使用keys
:
NSDictionary *myDic = @{
@(1): @"Apple",
@(2): @"Banana",
@(3): @"Cherries",
@(4): @"Guava"
};