【Swift】TableViewで最初のセクションしか表示されない場合の原因と対処法

TableViewで複数セクションに分けてセル(TableViewCell)を一覧表示したいのに、なぜか最初のセクションのセルしか表示されない時の原因と対処法。

原因と対処法

原因はセクションの数を返すメソッドであるnumberOfSectionsInTableView()にありました。

うまくいかない時、以下のように記述していました。


func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return mySection.count
}

しかし、これはSwift2の書き方だそうで、僕が使っているのはSwift4だったので、うまく動作しなかったようです。

Swift4では以下のように記述します。


func numberOfSections(in tableView: UITableView) -> Int {
    return mySection.count
}

numberOfSectionsInTableView()ではなく、numberOfSections()を使用し、「in」を追加する必要があります。
Swiftはバージョンごとに書き方が大きく異なるので注意が必要ですね。

コメント