Привет, мне просто интересно, возможно ли создать общий класс, подтверждающий протокол ObservableObject, который может использоваться более чем одним ContentViews.
Если я смогу это сделать, тогда я смогу сделать мой ContentView иКласс модели полностью универсальный и многократно используемый.
Пример того, чего я хотел бы достичь:
protocol ContentViewModelType: ObservableObject {
var propertyToInitialiseView: [String] { get }
}
struct ContentView: View {
@ObservedObject var viewModel: some ViewModel
var body: some View {
Text("Hello World")
}
}
Если я смогу это сделать, любой класс сможет реализовать ContentViewModelType и стать моделью для ContentView, которая делаетэто универсальный и многоразовый.Например,
class ViewModel: ObservableObject {
var objectWillChange = PassthroughSubject<ViewModel, Never>()
}
Но когда я пытаюсь инициализировать ContentView, этот xcode выдает ошибку типа.
Я думал, чтоВесь смысл введения некоторого ключевого слова заключался в том, чтобы мы могли использовать протокол в качестве типа для тех протоколов, которые связали тип в качестве требования, и, следовательно, это должно работать.Но это дает ошибку.
Если у кого-либо есть какие-либо ссылки или знания об этой проблеме, которыми они могли бы поделиться, или, возможно, решение этой проблемы, было бы замечательно.
Заранее спасибо.