swift - 在 Firebase 实时数据库中实现用户名(swift 4)
问题描述
首先,很抱歉我的英语不好并问了一个非常基本的问题。
我是 swift & iOS 编程以及 Firebase 实时数据库的新手。
如何将用户的用户名引用到用户的帖子?
我认为userId
罐子可以作为参考的关键。
我的最终目标只是完成所有帖子(完成)并拥有发布者的用户名。
我使用过 PHP 和 MySQL(以前从未使用过 JSON)并且通常可以毫无问题地实现这一点,但我不确定如何在 Firebase 中实现这一点,可能是因为我对查询不太确定。
我已经阅读了可用于 Firebase 的查询和这个问题 ,但仍然不太确定,因为在我的情况下它有点不同。
谢谢你。
解决方案
在您的控制器中,通过 id 从数据库中获取您的帖子:
class func getPosterId(post: Post, completion: @escaping ([Post]) -> Swift.Void) {
Database.database().reference().child("posts").observe(.value, with: { (snapshot) in
if snapshot.exists() {
var posts = [Post]()
let values = snapshot.value as! [String: Any]
let post = values[post.id]
completion(post)
}
})
然后在你的 ViewController 中从完成中捕获它并获取它的userId
.
推荐阅读
- boost-asio - 在 Boost:asio 中,如何为任何特定活动保留一个线程
- mysql - 如何告诉gorm保存丢失的时间。时间字段为NULL而不是'0000-00-00'?
- python-3.x - 尝试使用 get-metric-statistics 从 Lambda 从 Cloudwatch 获取 CPU 利用率指标时响应为空
- java - 无法访问 Kubernetes 集群中的前端 pod
- analytics - 谷歌分析显示空白页
- excel - 如何通过在文件路径中创建新文件夹来自动保存
- ruby-on-rails - Rails simple_format 不处理某些字符串
- php - 连接被拒绝:无法连接到 127.0.0.1 端口 4444:连接拒绝 laravel 黄昏与 selenium 和 laradock
- flutter - 颤动的中心小部件未显示在设备中心
- wordpress - Wordpress 插入 base64 图像作为附件不起作用