TableViewの仕組みが分らなかった為、質問させて貰いました。
疑問点は以下のコードの self.prefectures[indexPath.row]
こちらの部分で、indexPath.rowとして、配列prefecturesの要素番号を指定しているのですが、IndexPath.rowの値はセルを生成する度(cellForRowAtが呼び出される度)に、インクリメントされているのでしょうか...?
関数が呼び出される度にインクリメントされていなければ、配列の同じ要素番号が参照されてしまいますが、少し、内部処理について、実際どのように処理されていると疑問でした。
どなたかお詳しい方いらっしゃいましたら、ご助言頂けましたら幸いです。
import UIKit class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { let prefectures = ["東京都", "神奈川県", "千葉県", "埼玉県", "茨城県", "栃木県", "群馬県"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } // TableViewに表示するセルの数を返却します。 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.prefectures.count; } // 各セルを生成して返却します。 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = UITableViewCell(style: .default, reuseIdentifier: "myCell") cell.textLabel?.text = self.prefectures[indexPath.row] return cell } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/16 07:32
2019/12/16 07:36 編集
2019/12/16 07:38