向 Swift 中的 [String:Array<NSDictionary>] 添加元素时出错
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)
}
}
执行此操作时,出现以下错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
构造函数将model.data
初始化为data=[String:Array<NSDictionary>]()
。
请帮助。提前致谢。
问题可能是当您将 [dict]
分配给它时,您正在展开 self.model.data[i]
。我假设你在 data[i]
还没有价值的情况下这样做。所以强制解包会导致一个空指针,从而导致崩溃。
试试这个:
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)
}
}
尽管这假定 self.model.data[i]
存在于 k
不等于 0
的情况。我不确定这是否正确,您提供的信息不够详细。
我认为你想做的是:
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)
}
我的 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)
}
}
执行此操作时,出现以下错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
构造函数将model.data
初始化为data=[String:Array<NSDictionary>]()
。
请帮助。提前致谢。
问题可能是当您将 [dict]
分配给它时,您正在展开 self.model.data[i]
。我假设你在 data[i]
还没有价值的情况下这样做。所以强制解包会导致一个空指针,从而导致崩溃。
试试这个:
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)
}
}
尽管这假定 self.model.data[i]
存在于 k
不等于 0
的情况。我不确定这是否正确,您提供的信息不够详细。
我认为你想做的是:
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)
}