我有一个Cocoa Touch课程BaseViewController
:
class BaseViewController: Named, UIViewController {
open var name = "Emma"
override func viewDidAppear() {
self.doSomethingImportant(self.name)
}
}
protocol Named {
var name: String
}
BaseViewController
背后的意图是我的应用中的所有视图控制器都是从它派生的,因为它在viewDidAppear()
中使用name
执行了一些重要操作。
但是,我试图以这样一种方式对其进行建模,即从BaseViewController
继承而不指定name
,并且不是编译时错误必须在基类中提供默认的name
值。换句话说: