2017-06-20 101 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

相關問題