面向Swift协议的编程使Xcode循环';修复它';
我有两个一般摘要:面向Swift协议的编程使Xcode循环';修复它';,swift,swift-protocols,Swift,Swift Protocols,我有两个一般摘要: protocol NavigationDelegate: class { } 及 然后我有一个更详细的ViewModel协议: protocol ViewModel: class { associatedtype ViewModelDelegateConformance: ViewModelDelegate associatedtype NavigationDelegateConformance: NavigationDelegate init(d
protocol NavigationDelegate: class { }
及
然后我有一个更详细的ViewModel协议:
protocol ViewModel: class {
associatedtype ViewModelDelegateConformance: ViewModelDelegate
associatedtype NavigationDelegateConformance: NavigationDelegate
init(delegate: ViewModelDelegateConformance, navigationDelegate: NavigationDelegateConformance)
}
然后我有两个协议,每个协议分别符合前两个协议
protocol AnyNavigationDelegate: NavigationDelegate {
func anySelected(for post: Any)
}
及
然后我有了我的ViewModel类
class SomeViewModel: ViewModel {
typealias ViewModelDelegateConformance = AnyViewModelDelegate
typealias NavigationDelegateConformance = AnyNavigationDelegate
required init(delegate: ViewModelDelegateConformance, navigationDelegate: NavigationDelegateConformance) {
}
}
但我不断地发现错误:SomeViewModel与ViewModel不一致。
当我点击“修复”按钮时,它只会弹出类型别名
protocol AnyViewModelDelegate: ViewModelDelegate {
func someViewModelAnyUpdated(viewModel: SomeViewModel)
func someViewModelFailedUpdate(viewModel: SomeViewModel)
}
class SomeViewModel: ViewModel {
typealias ViewModelDelegateConformance = AnyViewModelDelegate
typealias NavigationDelegateConformance = AnyNavigationDelegate
required init(delegate: ViewModelDelegateConformance, navigationDelegate: NavigationDelegateConformance) {
}
}