私は、アプリケーションのいくつかの場所でループ内にtableView.reloadData()コールを持っています。tableView reloadDataはループ内の各パスでセルを描画しません
let dataSourceArray = []
for arrayItem in anotherArray {
dataSourceArray.append(arrayItem)
self.tableView.reloadData()
}
私が達成しようとしているのは、modelViewに読み込まれた各セルをtableViewに描画させることです。
現在、ループが完了すると、すべてのセルが表示されます。
これはすべてメインスレッドで行われていますが、私はreloadData呼び出しのためにメインスレッドにディスパッチしようとしました。それは何の違いもありませんでした。私はreloadDataの後にtableView.layoutIfNeeded()を試しました。
cellForRowAtIndexPathおよびheightForRow ...メソッドにブレークポイントを配置すると、ループ内の各パスで正常なtableView呼び出しが期待どおりに行われます。しかし何らかの理由で、ループが完了するまで細胞はスクリーンに描画されません。
私は上記の試行以外の各パスでセルを描画するためにtableViewを強制するとにかくありますか?
なぜ 'reloadData'をまったく呼び出すのですか? 'insertRows(at')を使用して、単一行のテーブルビュー全体を再ロードせずに各行を挿入してください – rmaddy