iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
かなり無理をしている状態になってきたが、それだけ、試行錯誤しないといけないので、得るものはある。
今回は、計算済みプロパティの追加だ。今回も、無理がありそう!
やはり、これは無理。
protocol SourceType: UITableViewDataSource {
//var dataObject: DataType {get set}
//var conditionForAdding: Bool {get}
}
Model(Dataコントローラ)に計算済みプロパティを追加することに変更。
class Document: NSObject {
private var dataObject: DataType = Hand()
var conditionForAdding: Bool {
return dataObject.numberOfItems < 5
}
}
すると、こうなる。
class DataSource: NSObject, UITableViewDataSource, SourceType {
private var document = Document.sharedInstance
func addItemTo(tableView: UITableView) {
if document.conditionForAdding {
document.addNewItem(at: 0)
insertTopRowIn(tableView: tableView)
}
}
}
条件判定はプロパティになっている。