簡體   English   中英

帶數組值的Swift字典

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM