为什么这不在 UITableView 中显示信息?

Why is this not displaying information in a UITableView?

我将非常感谢对此的任何帮助。我对编码很陌生,到目前为止还没有实现这个功能。我希望使用从 Firestore 收集的信息填充 UITableViewCell,即:titleusernamecontent。我已经能够成功打印 'title' 数组,但无法将其实际填充到单元格中。

这是 HomeViewController,我的 UITableView 是:

class HomeViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {


@IBOutlet weak var tableView: UITableView!

@IBOutlet weak var logoutButton: UIButton!


var postArray: [String] = []
var documents: [DocumentSnapshot] = []

let db = Firestore.firestore()
let currentUserID = Auth.auth().currentUser?.uid

    // Find the UserIDs of people following
// Where Field for those UserIDs in "Posts"


override func viewDidLoad() {
    super.viewDidLoad()
    getFollowingPosts()
    configureTableView()
    }

func getFollowingPosts() {
    let searchForFollowing = db.collection("users").document(currentUserID!).collection("Following")
    searchForFollowing.getDocuments { (snapshot, error) in
        for documents in snapshot!.documents {
            let followedUID = documents.get("uid")
            print(followedUID!)
            
            self.db.collection("posts").whereField("uid", isEqualTo: followedUID!).getDocuments { (querySnapshot, error) in
                for documents in querySnapshot!.documents {
                    let uid = documents.get("uid") as! String
                    let title = documents.get("Title") as! String
                    let ProfilePictureURL = documents.get("ProfilePictureURL") as! String
                    let username = documents.get("username") as! String
                    let content = documents.get("Content") as! String
                    self.postArray.append(title)
                    print(self.postArray)
                }
                self.tableView.reloadData()
            }
        }
    }
    }

func configureTableView() {
    tableView.delegate = self
    tableView.dataSource = self
    tableView.register(PostTableViewCell.self, forCellReuseIdentifier: "PostCell")

    // remove separators for empty cells
    tableView.tableFooterView = UIView()
    // remove separators from cells
    tableView.separatorStyle = .none
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    postArray.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! PostTableViewCell
    let post = postArray[indexPath.row]
    return cell
}

  

}

这是我的 PostTableViewCell:

class PostTableViewCell: UITableViewCell {

@IBOutlet weak var usernameLabel: UILabel!

@IBOutlet weak var titleLabel: UILabel!

@IBOutlet weak var contentLabel: UILabel!


    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        addSubview(usernameLabel)
        addSubview(titleLabel)
        addSubview(contentLabel)

    }


    

}

如果有人能提供帮助,我们将不胜感激。就像我说的,我一直在努力解决这个问题。

您似乎没有将数据设置到单元格中的任何内容。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! PostTableViewCell
    let post = postArray[indexPath.row]
    cell.titleLabel.text = post
    return cell
}

此外,如果您使用的是 nib,请修改注册方法

func configureTableView() {
    //...
    tableView.register(UINib(nibName: "PostCell", bundle: nil), forCellReuseIdentifier: "PostCell")
    //...
}

注意:确保 nib 文件的 nib 标识符设置为“PostCell”。