if dictionary.indexForKey("someKey") != nil {
// the key exists in the dictionary
}
Swift 3 sözdizimi .... Aslında test dictionary[key] == nil
kilit bir sözlükte varsa kontrol etmek için kullanılabilir. değeri nil
olarak ayarlanırsa O true
vermez:
let dict : [String : Int?] = ["a" : 1, "b" : nil]
dict["a"] == nil // false, dict["a"] is .Some(.Some(1))
dict["b"] == nil // false !!, dict["b"] is .Some(.None)
dict["c"] == nil // true, dict["c"] is .None
"tuşuna dict mevcut değil" ve ayırt etmek Eğer yuvalanmış opsiyonel atama yapabilir "anahtarın değeri sıfırdır":
if let val = dict["key"] {
if let x = val {
println(x)
} else {
println("value is nil")
}
} else {
println("key is not present in dict")
}
Vay bu delilik. Neden "[" b "] == nil 'yanlış olarak değerlendirilir? – vrwim
@vrwim: 'dict [" b "]' bir "iç içe isteğe bağlı" ve "Int" türüne sahip, gerçek değer ".Some (.None)' :) Bu konuda daha fazla okuyabilirsiniz Swift blogu https://developer.apple.com/swift/blog/?id=12. Ayrıca bu soruya http://stackoverflow.com/a/27226589/1187415 adresli bir soruya da bakınız. –
Güzel, ama bu gelecekte bazı sorunlara neden olabileceğini düşünüyorum. Bu var olduğunu bildiğime sevindim. – vrwim