我试图创建一个NSMutableArray
并从数据库添加字典值(使用fm-db结果集),然后我得到了这个错误:
"fatal error: unexpectedly found nil while unwrapping an Optional value ".
请给出解决此问题的提示。
代码:
var arrCategory :NSMutableArray!
while rs.next(){
arrCategory.addObject(rs.resultDictionary())
}
除了检查rs.resultDictionary
不是nil之外,还要确保您已经分配了可变数组。在你发布的代码中,它只声明:
var arrCategory:NSMutableArray!
但不清楚你是否分配过它;例如:
arrCategory = NSMutableArray()
此外,rs
是nil
,而不仅仅是resultDictionary
(如果没有看到完整的代码,就无法判断),所以检查应该是:
if let rs = rs {
while rs.next(){
if let result = rs.resultDictionary {
arrCategory.addObject(result)
}
}
}
在添加dictionary之前,您应该检查它是否为nil:
while rs.next(){
if(rs.resultDictionary() != nil){
arrCategory.addObject(rs.resultDictionary())
}
}
这是因为您在NSMutableArray中放入了nil,这是不允许的。其中rs.resultDictionary返回nil。如果情况并非如此,请查看。同时,下面的答案会起作用。考虑到Swift语言的精神,更好的方法是:
while rs.next()
{
if let result = rs.resultDictionary
{
arrCategory.addObject(result) ;
}
}