【发布时间】:2011-05-18 21:04:40
【问题描述】:
在一些地方,我需要对象到对象的映射,并使用 NSMutableDictionary 作为查找表。密钥是一个装箱的 NSObject 哈希,例如:
[dict setObject:newObject forKey:[NSNumber numberWithUnsignedInt:[keyObject hash]]];
其中 keyObject 是自定义类的实例,它按原样继承 NSObject 的 - (NSUInteger)hash 实现。我在其他地方保留了对 keyObject 的引用,因此我可以使用它来获取 newObject:
[dict objectForKey:[NSNumber numberWithUnsignedInt:[keyObject hash]]]
到目前为止,这似乎有效,尽管相关应用还很年轻。
不过,Matt Gallagher 写过这种方法:
这稍微削弱了我的信心(因为这是一个 iOS 应用程序,我不能使用他建议的 NSMapTable)。
谁能指出以这种方式使用 NSObject 的哈希有什么问题,以及对于 iOS 应用程序的简单对象-对象映射有什么更好的方法?
【问题讨论】:
标签: objective-c ios