2017-06-20 107 views
0

我要以这种方式来比较两个字典:二元运算符'=='不能应用于两个'[AnyHashable:Any]!'操作数

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) 
    { 

    } 
} 

但我发现了这个错误

二元运算符“==”不能被应用到两个“[AnyHashable:任何]!'操作数

如何解决这个问题?请帮助我 谢谢

+1

试试这个https://stackoverflow.com/questions/32365654/how-do-i-compare-two-dictionaries-in-swift –

+0

@UmairAfzal我试过,但往哪里放方便的init(字典otherDictionary :[AnyHashable:Any])? – user1960169

+0

为什么不使用isEqualToDictionary()方法? –

回答

0

一种方法是将previouldObj转换为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)) 
     { 

     } 
+0

if(nsDict.isEqual(to:obj)== false) {}但这总是返回false。这是为什么。我的数组有很多平等的字典..我试图通过检查这个条件来避免重复。但我无法实现这一点 – user1960169

相关问题