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'沒有初始值設定項。我在哪裏?有人能糾正我,並指出我在正確的方向嗎?
編輯:視頻是https://youtu.be/-g53kYDIpP4?t=611 編輯2:沒有通過視頻聽。
init(engine:Engine){self.engine = Engine}迫使我從視圖控制器實現一個init。 – bCM
無論如何,似乎並不是一個好的解決方案。我可能錯了。 – bCM
這是一個嚴格的Swift類型,如果你聲明它不是可選常量,那麼你必須在init或right中初始化它,因爲你聲明它 – Konstantin