[英]How to compare optional Dictionaries? Swift 3
在Swift中我們可以比較選項,我們也可以比較字典,但如何比較可選的字典?
var dict: [String: String]? = [
"name" : "A name",
"email" : "an@email.com"
]
var dict2 = [
"name" : "A name",
"email" : "an@email.com"
]
if dict2 == dict { // Error line: Value of optional type '[String : String]?' not unwrapped; did you mean to use '!' or '?'?
}
這不會編譯並強制我們解開字典。 有清潔的解決方案
解開您的字典實例,然后嘗試比較它。
使用if-let
塊
let dict: [String: String]? = [
"name" : "A name",
"email" : "an@email.com"
]
let dict2 = [
"name" : "A name",
"email" : "an@email.com"
]
// use if-let
if let dict1 = dict, dict2 == dict1 {
print("true") // result is "true"
} else {
print("false")
}
字典“名稱”的更新值
let dict3 = [
"name" : "B name",
"email" : "an@email.com"
]
// use if-let
if let dict1 = dict, dict3 == dict1 {
print("true")
} else {
print("false") // result is "false"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.