代码之家  ›  专栏  ›  技术社区  ›  nornagon

CocoaTouch:一种不用nscoping就能散列指针的字典

  •  0
  • nornagon  · 技术社区  · 14 年前

    我在寻找更好的方法:

    id key, value;
    NSMutableDictionary dict;
    [dict setObject:value forKey:[NSNumber numberWithInt:(int)key]]

    也就是说,使用NSDictionary从地址映射到对象。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Alejandro    14 年前

    如果可以,使用C++的地图:

    std::map<id, id> map;
    map.insert(std::make_pair(key, value));

    你得把文件的扩展名改成 .mm . 还要注意,它不会保留您的值。

        2
  •  0
  •   nornagon    14 年前

    使用 CFDictionary /CFMutableDictionary。

    CFDictionary的键可以是任何C类型。

    const void * CFDictionaryGetValue (
       CFDictionaryRef theDict,
       const void *key
    );

    你需要 #import <CoreFoundation/CoreFoundation.h>

    创建词典时,请指定 NULL 使键和值回调结构指示不希望保留它们。