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