gpt4 book ai didi

swift - Firestore querysnapshot 返回 nil swift

转载 作者:行者123 更新时间:2023-11-28 14:31:12 27 4
gpt4 key购买 nike

我正在尝试获取我收藏中的文档数量。这是我的代码:

let query = btRef
.whereField("UID", isEqualTo: UID)
.whereField("timestamp", isGreaterThan: startOfDate)
.whereField("timestamp", isLessThan: endOfDate)

query.getDocuments(){ (querySnapshot, err) in
if (querySnapshot?.count)! > 0 {
Variable = true
}
else {
Variable = false
}
}

但是,每次我运行它时,以下行都会导致错误:“Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”

(querySnapshot?.count)! > 0

我似乎找不到解决方案。我知道由于展开 nil 值而出现此错误。那么为什么 querySnapshot 返回 nil?如果此查询中没有文档,它不应该返回 0 吗?

最佳答案

是的,如果 querySnapshot 存在并且没有文档,计数将为 0。但是在您的情况下,querySnapshot 可能是您强制解包的 nil .我建议在尝试使用它之前使用 guard 语句解包它。您可能还想解包错误以便打印它并查看为什么 querySnapshot 为 nil。

query.getDocuments(){ (querySnapshot, err) in
if let err = err {
print(err.debugDescription)
return
}
guard let querySnapshot = querySnapshot else {
// handle the error however you like here
return
}
if (querySnapshot.count) > 0 {
Variable = true
}
else {
Variable = false
}
}

关于swift - Firestore querysnapshot 返回 nil swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51252975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com