Swift UITableView不是';你看不见吗?

Swift UITableView不是';你看不见吗?,swift,firebase,uitableview,firebase-realtime-database,Swift,Firebase,Uitableview,Firebase Realtime Database,我的tableview在我按下build后没有加载,有人能看到代码有什么问题吗?为什么没有显示?在控制台中,它正在打印来自Firestore的数据,但我在模拟器上只能看到一个白色屏幕 struct Posts { var caption:String } class CoursesVC: UIViewController, UITableViewDelegate { let tableView = UITableView() var posts = [Posts]() overri

我的
tableview
在我按下build后没有加载,有人能看到代码有什么问题吗?为什么没有显示?在控制台中,它正在打印来自
Firestore
的数据,但我在模拟器上只能看到一个白色屏幕

struct Posts {
   var caption:String
}

class CoursesVC: UIViewController, UITableViewDelegate {

let tableView = UITableView()

var posts = [Posts]()

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = .white
    self.tableView.dataSource = self
    self.tableView.delegate = self
    setupViews()
       
       loadPosts()

DispatchQueue.main.async {
    self.tableView.reloadData()
    }
}

func loadPosts() {
    let dbUsers = Firestore.firestore().collection("Payouts")
    dbUsers.addSnapshotListener { (querySnapshot, error) in
        if let error = error {
            print("\(error.localizedDescription)")
        } else {
            for document in (querySnapshot?.documents)! {
                if let Caption = document.data()["amount"] as? String {
                    print(Caption)
                    var post = Posts(caption: "")
                    post.caption = Caption

                    self.posts.append(post)
                }

            }
            DispatchQueue.main.async
            {
                self.tableView.reloadData()
            }
            print(self.posts)
        }
    }
  }

private func setupViews() {
let stackView: UIStackView = {
    let sv = UIStackView()
    sv.translatesAutoresizingMaskIntoConstraints = false
    sv.spacing = 28
    sv.axis = .vertical
    sv.distribution = .fill
    sv.alignment = .fill
    return sv
    }()
    
    view.addSubview(stackView)
    view.addSubview(tableView)

}
}

extension CoursesVC: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return posts.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
let post = posts[indexPath.row]
cell.textLabel?.text = post.caption
return cell
}
}

您忘记将框架指定给tableView。当您以编程方式添加tableView时,必须为tableView设置框架。在
setupview()方法中编写以下代码

例如,
tableView.frame=CGRect(x:0,y:0,宽度:UIScreen.main.bounds.width,高度:450.0)


根据需要更改tableView框架。

您忘记为tableView指定框架。当您以编程方式添加tableView时,必须为tableView设置框架。在
setupview()方法中编写以下代码

例如,
tableView.frame=CGRect(x:0,y:0,宽度:UIScreen.main.bounds.width,高度:450.0)


根据您的要求更改tableView框架。

您在哪里分配了
UITableView
@IBOutlet
?它位于我发布的代码“let tableView=UITableView()”的最顶端。您是否使用故事板插入tableView,或者您只是以编程方式插入?另外..显示您的单元格文件您在哪里分配了
UITableView
@IBOutlet
?它位于我发布的代码“let tableView=UITableView()”的最顶端。您是否使用故事板插入tableView,或者您只是以编程的方式执行此操作?另外..显示给我一个错误的单元格文件-“线程1:异常:”无法使用标识符单元格对单元格进行出列-必须为标识符注册nib或类,或在故事板中连接原型单元格“您必须为tableView单元格创建XIB,并在cellForRowAt Indexath中返回该单元格。这给了我一个错误--”线程1:异常:“无法将标识符为cell的单元格出列-必须为标识符注册nib或类,或在情节提要中连接原型单元格”确切地说,您必须为tableView单元格创建XIB,并在cellForRowAt Indexath中返回该单元格。