我有如下示例数据
1 -> Apple
2 -> Banana
3 -> Cherries
4 -> Guava
5 -> Apple
..........
..........
现在,我需要将其存储在 Objective-C 的数据结构中。如您所见,键是数字,值是 NSString
类型。通常会使用字典,但在这种情况下,我不能,因为 key 不是字符串。
我转而开始使用 NSMapTable
。 NSMapTable 的唯一问题是,没有简单的方法来操作 [NSDictionary allKeys]
等东西。
我确实看到了一个名为 [Maptable keyEnumerator]
的东西,但是 keyEnumerator
看起来无法对其进行排序。所以我对在这种情况下使用什么是最好的数据结构没有想法。欢迎任何建议。
最佳答案
如果你使用 NSArray
那么你需要维护插入的顺序,使用索引作为键。
由于 NSMutableDictionary
仅设计用于处理对象,一个简单的方法是将整数或 float 包装在 NSNumber
对象中。
NSMutableDictionary *testDictionary = [[NSMutableDictionary alloc] init];
[testDictionary setObject:@"Apple"
forKey:[NSNumber numberWithInt:1]];
NSLog(@"Test dictionary: %@", testDictionary);
关于ios - 当键是数字时,我应该在 objC 中为键值对使用什么数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43110364/