現在、SwiftにてiOSアプリの開発をしています。
UITableViewを使用した画面を作成中なのですが、
その中でTableViewCellのおける定数の正しい初期化方法が分からず困っています。
やりたいこととしては、単純にCellにテキストラベルを設定したいだけなのですが、
その処理をUIViewController.cellForRowAtIndexPathメソッド以外で初期設定を行いたいのです。
Cell情報の設定処理は調べてみると、大抵は以下のようなcellForRowAtIndexPathメソッドで行うコードです。
swift
1 2 private let textList = ["a","b", "c"] 3 4 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 5 let cell = UITableViewCell(style: UITableViewCellStyle.value1, reuseIdentifier: "cell") 6 7 // テキストラベルの設定 8 cell.textLabel?.text = textList[indexPath.row] 9 return cell 10 }
私の認識では、cellForRowAtIndexPathメソッドは
Cellが再描画される度にこのメソッドが呼ばれると思っています。
しかし、上記のような固定文字列のテキストラベルの設定処理は
ビルド後は不変のため、再描画されるたびに処理が実行されるのが望ましくないと感じています。
そこで、cellForRowAtIndexPath以外で定数設定を行いたいのですが、
そういったことは可能なのでしょうか。
- 開発環境
Swift 4.1
Xcode 9.3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。