所以我知道一个类只能继承一个类,但可以继承多个协议.我看着这里的一些代码,搞不懂为什么Swift会抛给我一个错误.
protocol PaymentViewModelConfigurable: ViewModelWithResult {
}
class ViewModelWithResult {
func printWithResultClass() {
print("In View Model with result class")
}
}
class PaymentViewModel: PaymentViewModelConfigurable {
}
class MainOne {
let viewModel: PaymentViewModelConfigurable = PaymentViewModel()
}
所以我假设这是可以的,因为我的PaymentViewModel
类继承了一个协议,而该协议继承了一个类.
但是,如果我在我的视图模型上将逻辑更改为继承协议和类,它将很好地?
protocol PaymentViewModelConfigurable: ViewModelWithResult {
func payments()
}
class ViewModelWithResult {
func printWithResultClass() {
print("In View Model with result class")
}
}
class PaymentViewModel: ViewModelWithResult, PaymentViewModelConfigurable {
func payments() {
print("Payments")
}
}
class MainOne {
let viewModel: PaymentViewModelConfigurable = PaymentViewModel()
init() {
viewModel.payments()
}
}
以下是出现的错误:
'PaymentViewModelConfigurable' requires that 'PaymentViewModel' inherit from 'ViewModelWithResult'
Type 'PaymentViewModel' does not conform to protocol 'PaymentViewModelConfigurable'