swift firestore无法检查文档值nil是否为

时间:2019-11-14 08:15:37

标签: swift google-cloud-firestore

我的Firestore数据库中具有以下数据结构: enter image description here

在我的数据解析方法中,我尝试以下操作:

    if document.get("decisions") == nil{
                        object.decisions = document.get("decisions") as! [String: String]
                        }

结果是应用程序崩溃,因为即使“ decisions”为null,我的if子句也允许获取数据

3 个答案:

答案 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]