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