I think you should use updateValue forKey method instead of subscript=value. Subscript in Dictionary returns an Element?, you should not use it like a subscript in Array, which returns Element. Zhaoxin
Get Outlook for iOS _____________________________ From: Artyom Goncharov via swift-users <swift-users@swift.org> Sent: 星期三, 五月 18, 2016 6:56 下午 Subject: [swift-users] Dictionary with optional values To: <swift-users@swift.org> Hi, here is the playground snippet: var noOptDict = ["one": 1, "two": 2, "three": 3 ] noOptDict["one"] = nil noOptDict // “one” is gone var optDict: [String: Int?] = ["one": 1, "two": 2, "three": nil] optDict["one"] = nil optDict // “one” is gone but “three” is still there So the first dict instance works as it should, the second using opt values allows to store nil but deletes the key when you assign nil. Is it bug, feature, or both? Best wishes, Artyom _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users