UITableViewのreloadDataはテーブルビュー全体を更新します。
一部のセルのみの更新で良い場合はreloadRows、またはreloadSectionsを使った方が効率的です。
以前、UITableViewのカスタムクラスに、指定の行(Row)の更新とセクション(Section)の更新をするメソッドを作ったのでそれを紹介します。
UITableViewの特定のセルを更新する【Swift】
行(Row)の更新
class CustomTableView: UITableView {
func reloadRow(section: Int, row: Int) {
let indexPath = IndexPath(row: row, section: section)
self.reloadRows(at: indexPath, with: .fade)
}
}
列(Section)の更新
class CustomTableView: UITableView {
func reloadSection(section: Int) {
let indexSet = IndexSet(integer: section)
self.reloadSections(indexSet, with: .fade)
}
}
reloadDataを頻繁に使うと処理を重くなる可能性がありますので、なるべく必要最小限の方法で更新をリクエストしましょう。
以上
コメントを残す