【发布时间】:2021-04-12 15:13:20
【问题描述】:
我试图在 Firestore 中用户的帖子数量为 5 时发出警报。我正在尝试在显示警报时使用 userdefaults 来存储 true,以便在显示视图控制器时它不会继续显示。但是,当我尝试使用此代码进行检查时,它仍然每次都会显示警报,因此我假设用户默认值没有更改为 true。有人知道为什么会这样吗?
private func checkDueReview(){
if User.currentUser() != nil {
let alertShown = UserDefaults.standard.bool(forKey: "ShownAlert")
let currentUser = User.currentUser()!
if alertShown == false && currentUser.numberOfPosts == 5{
self.present(reviewAlert!, animated: true, completion: nil)
UserDefaults.standard.set(true, forKey: "ShownAlert")
}else {
UserDefaults.standard.set(false, forKey: "ShownAlert")
}
}
}
【问题讨论】:
-
如果 alertShown 曾经为真,则将其重置为假,如果他们仍有 5 个帖子,则再次显示。
-
您是否检查了用户的帖子数,而不是假设 UserDefaults 值没有变化?
标签: swift google-cloud-firestore nsuserdefaults