我在尋找更好的方法來做到這一點:CocoaTouch:該散列指針字典,沒有NSCopying
id key, value;
NSMutableDictionary dict;
[dict setObject:value forKey:[NSNumber numberWithInt:(int)key]]
也就是說,使用一個NSDictionary從地址映射到對象。
我在尋找更好的方法來做到這一點:CocoaTouch:該散列指針字典,沒有NSCopying
id key, value;
NSMutableDictionary dict;
[dict setObject:value forKey:[NSNumber numberWithInt:(int)key]]
也就是說,使用一個NSDictionary從地址映射到對象。
使用CFDictionary/CFMutableDictionary。
CFDictionary的鍵可以是任何C類型。
const void * CFDictionaryGetValue (
CFDictionaryRef theDict,
const void *key
);
你需要#import <CoreFoundation/CoreFoundation.h>
和可能的CoreFoundation框架添加到項目中。
創建字典時,請指定NULL
作爲鍵和值回調結構,以指示您不希望它們保留。
如果可以的話,使用C++的地圖:
std::map<id, id> map;
map.insert(std::make_pair(key, value));
你必須文件的擴展名更改爲.mm
。另請注意,它不會保留您的值。
std :: map不是散列表... – nornagon 2010-10-17 21:08:00
然後std :: unordered_map,只包含''tr1/unordered_map'' – Aleph7 2010-10-18 03:49:24