gpt4 book ai didi

objective-c - NSDictionary 查找 +valueWithPointer : keys are too slow

转载 作者:行者123 更新时间:2023-12-01 19:15:31 25 4
gpt4 key购买 nike

我有一个 Objective C++ 类,它的实例需要存储一组任意 C++ 对象并将每个对象与相应的 Objective C 对象相关联。在给定 C++ 对象时查找 Objective C 对象正在扼杀我的性能,因此我正在寻找更好的解决方案。

在使用 [NSValue valueWithPointer:] 创建 key 后,我目前正在将这些对存储在 NSMutableDictionary 中。查找时间,其中 +valueWithPointer: 大约是 -objectForKey: 的两倍,太慢了。

C++ 对象位于第三方框架中,不提供任何唯一标识符。

C++ 对象的集合总是小于十几个元素。

执行这些查找的更快方法是什么?

最佳答案

我看到了三种值得尝试的方法:

  • 使用 NSMapTable
  • 使用 objc_setAssociatedObject
  • 使用 std::unordered_map 或 std::map

  • objc_setAssociatedObject 在幕后使用 std::unordered_map 。

    关于objective-c - NSDictionary 查找 +valueWithPointer : keys are too slow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698478/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com