如何手动调用"tableView numberOfRowsInSection"函数

How to manually call "tableView numberOfRowsInSection" function

我正在制作一个从 CloudKit 获取数据并将其显示在表格视图中的应用程序。在我的 viewDidLoad 结束时,我调用了一个不同的函数来获取此数据并对其进行过滤。但是,我的 tableView numberOfRowsInSection 函数似乎在我的获取函数之前被调用,所以我的 tableView 中没有任何行,因为还没有通过我的获取函数,并且弹出了一个我分配为背景视图的视图,因为它应该在我没有行的时候。我想知道,有没有办法在我的自定义函数结束时再次调用我的 tableView numberOfRowsInSection 函数,以便它可以更新 tableView?我知道如何调用普通函数:

function(any parameters here)

不过我似乎不知道如何调用它:

tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 

假设我不能将我的获取函数代码移动到 ViewDidLoad 中。

您不直接调用 numberOfRowsInSection。只需像这样在 tableView 上调用 reloadData()

yourAsynchronousFunctionThatGetsYourDataFromCloudKit(){ records in
  //Set your data source with the CKRecords you got from CloudKit
  self.items = records

  //Reload the table
  self.tableView.reloadData()
}

//This gets called by reloadData()
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  return items.count
}