我怎样才能在嵌套Swift词典中找到nil?
var d: [String: AnyObject?] = [
"name": "Rodrigo",
"number": 1,
"nil": nil,
"more": [
"a": 1,
"b": 2,
"nil": nil
]
]
第二个nil
(在"more"
内)给出了错误Type of expression is ambiguous without more context
。
答案 0 :(得分:3)
您遇到的问题是Swift Dictionary
是一种值类型,因此不会自动符合AnyObject
。编译器会尝试在此处为您提供帮助,并将其桥接到NSDictionary
,其中 为AnyObject
,但遗憾的是NSDictionary
无法保留nil
1}}值,所以你运气不好。
在我看来,你有两个选择:
NSNull()
代替nil
。struct PersonData
来保存键入属性(包括选项)中所需的所有信息。您可能会发现这种方法比这种方法更好。