objective-c - Objective C 中带有 int 键的映射

标签 objective-c dictionary nsdictionary mutable

我需要将整数值映射到某种可变数组中的对象。解决这个问题最好的方法是什么?我看到的唯一选择是使用 ObjectiveC++ ...

std::map<int, id> theMap;  // if i can use id?

或者将整数放入NSStringNSNumber中以用作NSMutableDictionary的键。

我将其用于我的网络类,客户端将在其中发送一些数据( key 将在有效负载中)。然后,在读取时,将从数据包中提取 key ,然后将提取映射中的对象,以根据接收到的内容继续执行程序。 (我担心客户端接收到的有效负载无序或丢失有效负载。)

哪种方法是最好/最快的方法?

最佳答案

最好的选择(如果你不想弄乱 C++)是使用 NSMutableDictionaryNSNumber 作为键。使用新的文字语法更容易:

NSMutableDictionary *map = [NSMutableDictionary dictionary];
map[@1] = @"A value";
map[@578] = @"Another string";
int key = 310; // doesn't matter where this comes from
map[@(key)] = @"From a variable!";

关于objective-c - Objective C 中带有 int 键的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995351/

相关文章:

c++ - std::map 中的自定义键,重载 < 运算符

python - 当存在重复键时连接作为字典值的列表

ios - NSError 对象已经在第一次方法调用时填充

c++ - xcode 6.x arm64 代码构建失败,没有任何编译或链接错误

objective-c - 属性(property)继承 : Auto property synthesis will not synthesize property

python - 整数键与字符串键的字典访问速度比较

ios - 在swift 4中创建一个包含数组和字典的字典

ios - 将 NSData 转换为 NSDictionary

ios - 使用比较器对 NSDictionaries 的 NSArray 进行排序

objective-c - 当在键盘上按下回车键时显示一些文本