经过多次实验和多次崩溃后,我仍然无法弄清楚:
var dictionary:Dictionary<String, Any> = ["A": "Val A"]
var array = ["A", "B"]
dictionary["Ar"] = /* Xcode crash as soon as I type 'a'
and autocomplete brings up my 'array' */
我尝试了很多不同的方法,包括添加一个空数组(部分工作),但是只要我向该数组添加一些东西,Xcode就会爆炸。
Apple确实提到&#34; Swift数组是关于它们可以存储的值的类型。&#34;,但这不应该发生冲突。输入&#39;任何&#39;仍然是一种类型。当然,编译器警告是人们所期望的,但是再次,这个 是测试版。
答案 0 :(得分:0)
我认为它与数组和字典的安全性有关
此代码有效:
var dictionary:Dictionary<String, Array<String>> = ["A": []]
var array = ["A", "B"]
dictionary["Ar"] = array
但是崩溃了:
var dictionary:Dictionary<String, Any> = ["A": []]
var array: String[] = ["A", "B"]
dictionary["Ar"] = array
我也可以确认错误发生在我身上,所以我认为这排除了数组不能包含在词典中的可能性。