【问题标题】:How do I watch for changes made in NSMutableArray or NSMutableDictionary?如何查看 NSMutableArray 或 NSMutableDictionary 中所做的更改?
【发布时间】:2011-03-31 06:38:16
【问题描述】:

我注意到 NSMutableDictionary 和 NSMutableArray 的方法 'hashcode' 给我的哈希值是键的数量,与 NSMutableDictionary 的值和 NSMutableArray 的对象数量无关。

基本上,我想检测 NSMutableDictionary 的变化。我的字典包含键/值对作为字符串/NSMutableArray。如果从其任何值中添加/删除项目,我想检测字典中的变化。

如果我要计算 NSMutableArray 的哈希值,这是我字典中的值,这是不可行的,因为还有可能添加不同的值并删除现有的值,在这种情况下,只需给我项目的数量即可保持不变,但哈希应该不同。

在字典中处理这种变化的最佳方法是什么?

【问题讨论】:

  • 你不能只继承字典类并覆盖添加/删除方法吗?
  • 嗨,克里斯,你能解释一下吗?
  • 字典是class cluster,所以它不能轻易被子类化。
  • 这里有一个类似的问题可能会有所帮助:stackoverflow.com/questions/1106862/…
  • @zoul:感谢您的链接!我从来不知道。

标签: iphone hash nsmutablearray nsmutabledictionary


【解决方案1】:

如果与新字典相等,您可以保留原始字典进行测试

isEqualToDictionary:

返回一个布尔值 值,指示是否 接收字典的内容 等于另一个的内容 给定字典。

 - (BOOL)isEqualToDictionary:(NSDictionary*)otherDictionary

Docs here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多