我有以下类型的字典
[String : [String]]
在我的应用程序中,在运行时我发出请求以更新包含上述类型字典的var。我还在CoreData中存储了相同类型的字典。
我的问题是比较其中两个词典的最佳方法是什么?我当时认为散列函数最适合这个,但不知道如何处理它
答案 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")
}
}