对象指针值作为字典的键

Ran*_*cks 5 dictionary reference objective-c

我想使用对象的引用值作为字典的键,而不是对象的值的副本.所以,我基本上想要在字典中存储与另一个对象的特定实例相关联的对象,并在以后检索该值.

这可能吗?这完全违背了NSDictionary的想法吗?我可以说我可能正在以错误的方式接近这个,因为字典要我在对象本身上实现NSCopying,这对我正在做的事情来说并没有多大意义.我可以看到我应该做的是包装指针值,但这似乎有点疯狂.

建议将不胜感激.

hoo*_*oop 11

我想你可以用[NSValue valueWithPointer:object].


Lau*_*ble 2

NSMutableDictionary被设计为仅处理 Objective-C 对象实例。例如,当您调用setObject:forKey:方法时,会调用copyWithZone:键和retain值。

如果您想要拥有字典结构并能够处理任意键和值,那么您可以使用CFMutableDictionary。您可以准确地描述键和值所做的事情;它足够灵活,可以处理任意指针或事件char *字符串。