比较两个NSMutableDictionaries

时间:2010-08-20 15:18:13

标签: objective-c cocoa macos

Hello计算机人员!

我自己可以做到这一点,但我只是想知道是否有一种更有效的方式,我没有:

我有两个NSMutableDictionaries。让我们以这些为例:

Dictionary 'Madrid'

 Bob     : 54
 Thomas  : 32
 Frank   : 20


Dictionary 'Barcelona'

 Bob     : 1100
 Thomas  : 32
 Ed      : 55
 Frank   : 20

我想从比较这两者得到的是:

  1. Bob的值在两个词典之间是不同的
  2. 弗兰克在巴塞罗那有价值,但在马德里根本没有。
  3. 这用于监视一系列时间序列,以查看是否有任何活动从一次迭代发生到下一次迭代。

    显然,这应该在Objective-C中处理。

    关于最有效的方法的任何意见?

    非常感谢!

2 个答案:

答案 0 :(得分:2)

可能最好的方法是通过其中一个字典进行简单循环,然后检查是否错过了其他字典中的任何键。由于涉及字典,它只会是O(N)

答案 1 :(得分:0)

Objective-C支持isEqualToDictionary:

用法:

if ([(NSDictionary *)mutableDictionary1 isEqualToDictionary:(NSDictionary *)mutableDictionary2]) {