【发布时间】:2021-06-14 16:02:18
【问题描述】:
我正在从 Firebase Google 检索数据。我正在检查我收到的数据是否过期。
func checkBought(movieName : String) -> Bool{
var yesOrNo = false
boughtRef.observeEventType(.Value, withBlock: { (snap) in
if snap.value![movieName]! != nil {
if self.timestamp > snap.value![movieName]! as! Double {
//expire
print("expire")
yesOrNo = false
} else {
//not expire
print("not expire")
yesOrNo = true
}
} else {
//not bought yet
print("No movie")
yesOrNo = false
}
})
return yesOrNo
}
现在,return 语句在执行 firebase 代码之前返回并更改 yesOrNo 的值。
【问题讨论】:
-
您没有按预期使用块,返回语句应该在您的块内。它现在的工作方式是在完成块完成之前返回 false。