繁体   English   中英

向[String:Array添加元素时出错 <NSDictionary> 在Swift中

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM