Я получаю сообщение об ошибке:
objectWillChange требует, чтобы типы 'ViewModelType.ObjectWillChangePublisher' и 'ObservableObjectPublisher' были эквивалентны
Есть идеи, как обойти это?
import SwiftUI
final class MyViewModel: ObservableObject & SomeViewModelProtocol {
@Published var name: String
init(name: String) {
self.name = name
}
}
struct MainView: View {
@EnvironmentObject var viewModel: MyViewModel
var body: some View {
VStack() {
MyView<MyViewModel>()
}
}
}
protocol SomeViewModelProtocol {}
struct MyView<ViewModelType: ObservableObject & SomeViewModelProtocol>: View {
@EnvironmentObject var viewModel: ViewModelType
var body: some View {
return VStack {
Text("")
.onReceive(self.viewModel.objectWillChange, perform: {
print("onReceive")
})
}
}
}