1

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

有没有更好的方法将 NSView 存储在字典中而不进行子类化?

4

1 回答 1

0

您可能会对哈希在这种情况下的含义感到困惑。哈希只是 Cocoa 集合类内部用来提高性能的一个数字。NSObject 实现了这个方法,所以你不必重写它,除非更好、更有意义的哈希算法在比较/搜索数组或字典中的对象时产生更好的性能。

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

NSDictionary 保留其值但复制键。所以你不需要做任何事情来将你的视图作为值保存在字典中,但是如果你想使用视图作为键,你必须实现 -copyWithZone: 方法。

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

于 2010-06-08T20:07:03.383 回答