我可以使用[NSObject hash]将NSView存储在字典中吗?

时间:2010-06-08 19:45:52

标签: objective-c cocoa hash nsdictionary nsview

我已经读过-hash在不同的架构上没有返回相同的值。但是,我目前在文档中没有看到这一点。

有没有更好的方法在没有子类化的情况下将NSView存储在字典中?

1 个答案:

答案 0 :(得分:0)

您可能会对此上下文中的哈希含义感到困惑。 Hash只是Cocoa集合类在内部用来提高性能的一个数字。 NSObject实现了这个方法,因此除非更好,更有意义的哈希算法在比较/搜索数组或字典中的对象时产生更好的性能,否则不必覆盖它。

由于没有对象应该将其哈希值缓存在磁盘上,因此注释只是意味着您不应该依赖Apple类返回的具体哈希值。它被视为次要实现细节。

NSDictionary保留其值但复制键。因此,您不必执行任何操作来将视图保存在字典中作为值,但如果要将视图用​​作键,则必须实现-copyWithZone:方法。

在Apple的文档中阅读更多内容。