在我的数据解析方法中,我尝试以下操作:
if document.get("decisions") == nil{
object.decisions = document.get("decisions") as! [String: String]
}
结果是应用程序崩溃,因为即使“ decisions”为null,我的if子句也允许获取数据
答案 0 :(得分:2)
我想说,您最好进行一次安全检查,同时将类型转换为:
if let decisions = document.get("decisions") as? [String: String] {
object.decisions = decisions
}
答案 1 :(得分:0)
尝试这样
if document.get("decisions") != nil{
object.decisions = document.get("decisions") as! [String: String]
}
答案 2 :(得分:0)
您可以通过这种方式将空值转换为nil,并且不会导致应用崩溃。
func nullToNil(value : AnyObject?) -> AnyObject? {
if value is NSNull {
return nil
} else {
return value
}
}
object.decisions = nullToNil(dict["decisions"])
或者您可以使用
object.decisions = document.get("decisions") as? [String: String]