我读过 -hash 在不同的架构上不会返回相同的值。但是,我目前在文档中没有看到这一点。
有没有更好的方法将 NSView 存储在字典中而不进行子类化?
我读过 -hash 在不同的架构上不会返回相同的值。但是,我目前在文档中没有看到这一点。
有没有更好的方法将 NSView 存储在字典中而不进行子类化?
您可能会对哈希在这种情况下的含义感到困惑。哈希只是 Cocoa 集合类内部用来提高性能的一个数字。NSObject 实现了这个方法,所以你不必重写它,除非更好、更有意义的哈希算法在比较/搜索数组或字典中的对象时产生更好的性能。
由于没有对象应该在磁盘上缓存它们的哈希值,因此注释只是暗示您不应该依赖 Apple 类返回的具体哈希值。它被认为是次要的实现细节。
NSDictionary 保留其值但复制键。所以你不需要做任何事情来将你的视图作为值保存在字典中,但是如果你想使用视图作为键,你必须实现 -copyWithZone: 方法。
在 Apple 的文档中阅读更多内容。