swift - 将已“发布”帖子的用户个人资料图像加载到表格视图中
问题描述
所以我有一个与 twitter 类似的应用程序,我想拥有它,这样当用户发布“推文”时,他们的个人资料图片就在帖子旁边。我现在拥有的当前代码只是检索当前登录的用户并在图像视图中显示他们的个人资料图片,但是我希望它拥有发布的用户的图片。
func imageLoaded() {
let uid = Auth.auth().currentUser?.uid
database.child("users").child(uid!).observeSingleEvent(of: .value) { (snapshot) in
if let dict = snapshot.value as? [String: AnyObject] {
self.emailLbl.text = dict["users"] as? String
if let imageViewURL = dict["pic"] as? String{
let url = URL(string: imageViewURL)
URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if error != nil {
print(error!)
return
}
DispatchQueue.main.async {
self.profileImage?.image = UIImage(data: data!)
}
}).resume()
}
}
}
}
}
解决方案
你需要引入MVC模式。如果不这样做,这几乎是不可能做到或维持的。您需要创建一个 Post 对象来保存有关该帖子的所有信息,因此当您想要显示它时,只需将该 Post 加载到您的表格视图中并显示该单元格中的所有内容。这是一个涵盖它的精彩教程:
https://www.youtube.com/watch?v=qD582zfXlgo&index=4&list=PL0dzCUj1L5JEfHqwjBV0XFb9qx9cGXwkq
推荐阅读
- node.js - 头像已保存到 MongoDB,但没有成功消息和组件中的头像渲染,使用 React 和 Multer
- c# - 有没有办法在 C# 的构建时检查缺少的程序集?
- c# - 我应该为我的 REST API 的消费者提供客户端证书吗?
- groovy - JMeter:如何增加+1小时24次然后切换到第二天
- iis - Webdeploy 错误:“错误:源 (contentPath) 和目标 (appHostConfig) 与给定操作不兼容”
- java - Intellij:MapReduce 错误:线程“主”0 中的异常:没有这样的文件或目录
- ios - iOS 自动使用自定义阿拉伯/西里尔字体
- python - 来自脚本“test.py”的错误标头:错误标头:FISCAL_WEEK_NUMBER .,引用者:http://localhost/test.html
- node.js - 使用 Homebrew 卸载和重新安装 Node
- python - 无法加载使用 setuptools 打包的 dll