[英]Error in adding an element to [String:Array<NSDictionary>] in Swift
我的model
类型中有一个属性: [String:Array<NSDictionary>]
。 我想循环添加元素。 所以这就是我要做的:
for var k=0;k<body.count;k++ {
var dict=body[k] as NSDictionary
if(k==0) {
self.model.data[i]!=[dict]
}
else {
self.model.data[i]!.append(dict)
}
}
当我这样做时,出现以下错误:
致命错误:解开Optional值时意外发现nil
构造函数将model.data
初始化为data=[String:Array<NSDictionary>]()
。
请帮忙。 提前致谢。
问题可能是您在将[dict]
分配给self.model.data[i]
时将其展开。 我假设您在data[i]
还没有值的情况下这样做。 因此,强制拆包将导致nil指针,从而导致崩溃。
尝试这个:
for var k=0;k<body.count;k++ {
var dict=body[k] as NSDictionary
if(k==0) {
self.model.data[i]=[dict]
}
else {
self.model.data[i]!.append(dict)
}
}
尽管这假设在k
不等于0
的情况下存在self.model.data[i]
。 我不确定这是否正确,您没有提供足够的详细信息。
我认为您正在尝试执行以下操作:
for var k = 0; k < body.count; k++ {
var dict = body[k] as NSDictionary
if self.model.data[i] == nil {
self.model.data[i] = []
}
self.model.data[i]!.append(dict)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.