在 SwiftUI 中仅更新来自 Firebase 的新数据

Posted

技术标签:

【中文标题】在 SwiftUI 中仅更新来自 Firebase 的新数据【英文标题】:Update only new data from Firebase in SwiftUI 【发布时间】:2021-03-23 19:45:58 【问题描述】:

我的问题很复杂,而且我的英文也不是很好,所以如果你不明白我的意思,请见谅。

我有一个 SwiftUI 文件,它为我的 firebase 文件夹中的每个项目构建一个特殊按钮。

如果我触摸此按钮,它将隐藏。问题是,我希望如果 SwiftUI 文件重新加载,我只想看到这些我以前没有点击过的按钮。 (我想存储点击了哪些按钮)。问题是,每次我重新加载 SwiftUI 文件时,它都会生成尚未点击的新按钮。

我现在的问题是,如何仅为我的文件夹(在 firebase 上)中的新项目创建一个按钮。旧的一次也应该显示,如果它们没有被点击的话。

【问题讨论】:

【参考方案1】:

您可以将 Bool 存储在 Firebase 中。只需加载 false 的项目,当您点击按钮时,您会将值设为 true。

【讨论】:

好主意,但这不起作用,因为如果您使用其他帐户登录,它应该将所有内容标记为新帐户。 所以从项目中获取文档ID,当用户点击按钮隐藏时,您可以在后端为该用户保存true。它只会隐藏点击按钮的人,对于其他用户,它将标记为新用户。 对不起,我忘了说,不是所有的用户都登录了 你在使用 Firebase 身份验证吗? 是的,但不是每个用户都必须登录才能使用该应用程序

以上是关于在 SwiftUI 中仅更新来自 Firebase 的新数据的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI - 在 Firebase 上更新密码

在 Firebase 完成块中设置 @Published var 不更新 SwiftUI 视图

SwiftUI - 更新 Firebase 实时数据库上的数据

异步firebase调用后SwiftUI不更新变量

删除 SwiftUI 后 Firebase Firestore 不更新 UI

如何使用 SwiftUI 更新 Firebase 中的集合?