自分がよくやる方法は
対象のUIViewControllerにdataSource
変数をもたせて(名前とかは何でもいいですが)
それに対して、非同期処理が終わったタイミングで返ってきた値をdataSourceに入れて、reloadDataを走らせるやり方です。
参考になれば幸いです
※dataSourceに入る値が厳密には何かわからなかったので、おっしゃっていた画像の配列をもたせています。
class TableViewController: UIViewController {
var dataSource: [UIImage]?
func viewDidLoad() {
getData()
}
func getData() {
//コールバックで値が返ってきたときに、dataSourceないに値を入れて、tableView.reloadDataを走らせる
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//dataSourceに値が入ってない場合は、0を返す。getDataでコールバックご再度tableViewのreloadデータを走らせて、dataSourceに値が入って入れば、そのぶんtableViewに値が表示される
return dataSource != nil ? (dataSource.count)! : 0
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/07 13:08
2018/01/07 13:54