iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
今回も辛いはず!
DataSourceを継承したHandDataSourceを作る。
class HandDataSource: DataSource {
override init() {
super.init()
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath as IndexPath) as? CardCell else {
return UITableViewCell()
}
let card = document.getItem(at: indexPath.row)
cell.fillWith(card: card)
return cell
}
}
ハンドビューコントローラがこれを利用するようにする。
class HandVC: UITableViewController {
private var dataSource = HandDataSource()
}
スーパークラスを変更する。
class DataSource: NSObject, UITableViewDataSource, SourceType {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
fatalError("This method must be overriden")
}
}
継承されなかったら、エラーにするということだ。