protocol Engine {
func setSpeed(speed: Double)
}
struct Car: Engine {
let speed: Double
func setSpeed(speed: Double) {
self.speed = speed
}
}
class RandomViewController: UIViewController {
let engine: Engine
}
私はSwiftでプロトコル指向を実演した人のビデオを見ました。私はそれを撮影しました。人はこのようなことをして、エラーを起こさなかったようだ。クラスでプロトコルを初期化する
クラス 'RandomViewController'に初期化子がありません。私はどこから離れていますか?誰かが私を訂正して正しい方向に向けることができますか?
EDIT:ビデオはhttps://youtu.be/-g53kYDIpP4?t=611 EDIT2:ビデオを聞いていませんでした。
init(engine:Engine){self.engine = Engine}はViewControllerからinitを実装するように強制します。 – bCM
とにかく、良い解決策ではないようです。私は間違っているかもしれません。 – bCM
これは厳密な型のSwiftです。オプションの定数ではないと宣言した場合は、宣言した場所でinitまたは右辺で初期化する必要があります – Konstantin