如何手动调用"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
}
我正在制作一个从 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
}