[英]Swift Dictionary with Array Values
如果我將類屬性聲明為:
var list = Dictionary<String, StructType[]>()
然后嘗試使用以下方法從類方法中添加值:
var structType = StructType()
list[ "A" ] = [ structType ]
我收到運行時EXC_BAD_INSTRUCTION錯誤。 但是,如果我在類方法中聲明字典並添加值,則不會出錯。
它與具有數組值的字典有關。 如果我將聲明更改為更簡單的內容,例如:
var list = Dictionary<String, String>()
然后在類方法內:
list["A"] = "some string"
沒有任何問題的作品。
有任何想法嗎?
更新:
我也嘗試聲明:
var list = Dictionary<String, String[]>()
並且在類方法中引用列表沒有問題。
list[ "A" ] = [ "String1", String2" ]
還有類的聲明:
var list = Dictionary<String, SomeStruct>()
可以在類方法中引用。
更新2:
該結構定義為:
struct Firm {
var name = ""
}
如果以以下方式創建列表和類,則應該可以正常工作:
struct StructType {
var myInt = 0;
}
class MyClass {
var list = Dictionary<String, StructType[]>()
func myFunc () {
var structType = StructType()
list[ "A" ] = [ structType ]
}
}
var a = MyClass()
a.myFunc()
以下代碼似乎在操場上對我有用。
struct StructType {
}
var list = [String:[StructType]]()
var structType = StructType()
list["A"] = [structType]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.