Вы, наверное, ошиблись подходом. Я написал вам пример кода, который может вам помочь. Напишите мне комментарий, если вам нужна дополнительная помощь.
ViewController.swift
import UIKit
import Firebase
class ViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var postDataList = [Post]()
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
Firestore.firestore().collection("GeneralData").getDocuments { document, err in
if let document = document {
let dataDescription = document.documents
for i in dataDescription {
let post = Post.init(data: i.data())
self.postDataList.append(post)
}
self.tableView.reloadData()
}
else {
print("Document does not exist")
}
}
}
}
extension ViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.postDataList.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell
let post = self.postDataList[indexPath.row]
cell.setPost(post: post)
return cell
}
}
CustomTableViewCell.swift
import UIKit
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var usernameLabel: UILabel!
@IBOutlet weak var postTextLabel: UILabel!
@IBOutlet weak var amountLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
func setPost(post: Post) {
self.usernameLabel.text = post.name
self.postTextLabel.text = post.text
self.amountLabel.text = String(post.amount)
}
}
Post.swift
struct Post {
let name: String
let surname: String
let owner: String
let amount: Int
let text: String
let uid: String
init(data: [String: Any]) {
self.name = data["name"] as! String
self.surname = data["surname"] as! String
self.owner = data["owner"] as! String
self.amount = data["amount"] as! Int
self.text = data["text"] as! String
self.uid = data["uid"] as! String
}
}
Это структура вашей базы данных: введите описание изображения здесь