ObjC よりもはるかに優れているように見えるので、Swift の学習を開始しました。ただし、未定義のメンバーを呼び出そうとするとXcodeが叫ぶ理由がわからないため、疲れているに違いありません(現在、午前2時37分)。以下のコードを参照してください。
PeopleStackViewDataSource.swift
import Foundation
import UIKit
protocol PeopleStackViewDataSource {
func stackViewNumberOfItems(stackView: PeopleStackView) -> Int
func stackViewGetView(indexPath: NSIndexPath) -> UIView
}
PeopleStackView.swift
import Foundation
import UIKit
class PeopleStackView: UIView {
var datasource: PeopleStackViewDataSource? {
didSet {
self.redraw()
}
}
var scaleDownBy: Double = 0.1
init(frame: CGRect) {
super.init(frame: frame)
}
init(frame: CGRect, datasource: PeopleStackViewDataSource) {
super.init(frame: frame);
self.datasource = datasource;
}
func numberOfItems() -> Int {
return self.datasource ? self.datasource.stackViewNumberOfItems(self) : 0
}
func redraw() {
}
}
問題はreturn self.datasource ? self.datasource.stackViewNumberOfItems(self) : 0
、Xcodeがそれを言うこの行ですstackViewNumberOfItems(self)
PeopleStackViewDataSource?」「stackViewNumberOfItems」という名前のメンバーがありません
では、問題はどこにあるのでしょうか。