次の点を考慮してください。
protocol ViewControllable: class {
typealias VM: ViewModellable
var vm: VM! { get }
func bind()
}
extension ViewControllable {
var vm: VM! {
didSet {
bind()
}
}
}
vm
プロパティを観察し、bind
注入されるたびに呼び出すようにしています。しかし、これは次のようなエラーでコンパイルされません:
拡張機能には保存されたプロパティが含まれていない可能性があります
stored
プロトコルはプロパティをorにすることを強制できないため、これは理にかなっていますcomputed
。
これを導入せずに達成することは可能class inheritance
ですか?
つまり、プロトコル拡張内のプロパティの変化を観察できますか?