比较两个数组字典是否相等

时间:2018-05-02 14:54:50

标签: arrays swift dictionary

我有以下类型的字典

[String : [String]]

在我的应用程序中,在运行时我发出请求以更新包含上述类型字典的var。我还在CoreData中存储了相同类型的字典。

我的问题是比较其中两个词典的最佳方法是什么?我当时认为散列函数最适合这个,但不知道如何处理它

2 个答案:

答案 0 :(得分:2)

我相信这个功能是swift 4的原生功能:

https://developer.apple.com/documentation/swift/dictionary/2430767

这样的函数将起作用,考虑到编译器会为你检查类型并保证一个键:

func compare(left:[String:[String]], right: [String:[String]]) -> Bool {
     return left.keys == right.keys && left[left.keys.first!]! == right[right.keys.first!]! 
}

但是如果你想出于某种原因想要循环它,那么一个好方法就是声明性的。

答案 1 :(得分:1)

我试过这个例子:

var dict1: [String: [String]]!
var dict2: [String: [String]]!

func compareDictionaries(){
    if dict1 == dict2{
        print("equals")
    }
}