Dictionary 二进制运算符'==';不能应用于两个';[AnyHashable:Any]';操作数

Dictionary 二进制运算符'==';不能应用于两个';[AnyHashable:Any]';操作数,dictionary,swift3,binary-operators,Dictionary,Swift3,Binary Operators,我将以这种方式比较两本词典: var previouldObj:[AnyHashable:Any]! var obj:[AnyHashable:Any]! for i in 0..<self.arrayData.count { obj=self.arrayData[i] as! [AnyHashable:Any] if(obj == previouldObj) { } } var previoldobj:[AnyHashable:Any]! v

我将以这种方式比较两本词典:

var previouldObj:[AnyHashable:Any]!
var obj:[AnyHashable:Any]!
for i in 0..<self.arrayData.count
{

     obj=self.arrayData[i] as! [AnyHashable:Any]
     if(obj == previouldObj)
     {

     }
}
var previoldobj:[AnyHashable:Any]!
var obj:[AnyHashable:Any]!

对于0中的i.一种方法是将
previooldobj
转换为
NSDictionary
并调用
isEqual

    var previouldObj:[AnyHashable:Any]!
    var nsDict = NSDictionary(dictionary: previouldObj)
    var obj:[AnyHashable:Any]!
    for i in 0..<self.arrayData.count
    {

        obj=self.arrayData[i] as! [AnyHashable:Any]
        if(nsDict.isEqual(to: obj))
        {

        }
var previoldobj:[AnyHashable:Any]!
var nsDict=NSDictionary(字典:previoldobj)
var obj:[AnyHashable:Any]!

对于0中的i..试试这个@UmairAfzal我试过了,但是把便利性放在哪里init(dictionary otherDictionary:[AnyHashable:Any])?为什么不使用isEqualToDictionary()方法呢?当类型@UmairAfzalpublic func==(lhs:[String:AnyObject],rhs:[String:AnyObject])->Bool{return NSDictionary(dictionary:lhs)时,该方法甚至不会出现.isEqualToDictionary(rhs)}会给我各种错误sif(nsDict.isEqual(to:obj)==false){},但它总是返回false。这是为什么。我的数组有这么多相等的字典。。我试图通过检查这个条件来避免重复。但我不能做到这一点