来自New Firebase的扩展问题 检索数据并放在tableView(Swift)上
通过将Firebase代码移动到viewDidLoad,Post的所有文本部分都可以显示当前.但我仍然无法将图像放到tableView中.我检查了图像检索并且它成功了,我想我从Firebase检索的图像不在post数组中.
这是我的修复代码:
import UIKit
import Firebase
import FirebaseStorage
class timelineTableViewController: UITableViewController {
var posts = [Post]()
var databaseRef: FIRDatabaseReference!
var storageRef: FIRStorageReference!
override func viewDidLoad() {
super.viewDidLoad()
databaseRef = FIRDatabase.database().reference()
storageRef = FIRStorage.storage().reference()
let userPostRef = self.databaseRef.child("posts")
userPostRef.queryOrderedByChild("time").observeEventType(.ChildAdded, withBlock: {(snapshot) in
if let postAdd = snapshot.value as? NSDictionary{
let url = snapshot.value?["postPhoto"] as! String
let userPhotoUrl = snapshot.value?["userPhoto"] as! String
let myPost = Post(data: postAdd)
FIRStorage.storage().referenceForURL(url).dataWithMaxSize(10 * 1024 * 1024, completion: { (data, error) in …Run Code Online (Sandbox Code Playgroud) 正如我的标题所述,我的 tableView 中的图片会四处移动,并且在滚动 table view 时没有显示在正确的帖子上。在我停止滚动后,它们似乎又回到了原位。
我一直试图从以下文章中弄明白:
新的 Firebase 检索数据并迅速放在 tableview 上
从 Firebase 存储中检索图像以显示在 tableview swift 上
swift Firebase 按日期对 tableview 中的帖子进行排序
但我不知道如何使图片显示得更好。这是我所拥有的:
import UIKit
import FirebaseAuth
import FirebaseDatabase
import FirebaseStorage
class MainFeedTableViewController: UITableViewController {
var posts = [Post]()
let alert = AlertsViewController()
var databaseRef: FIRDatabaseReference! {
return FIRDatabase.database().reference()
}
var storageRef: FIRStorage! {
return FIRStorage.storage()
}
override func viewDidLoad() {
super.viewDidLoad()
fetchPosts()
}
// populates the tableView with posts content in real time
private func fetchPosts(){
let postRefs …Run Code Online (Sandbox Code Playgroud)