繁体   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