У меня есть структура UIViewControllerRepresentable
, которая подписана на ObservableObject, например:
struct ViewControllerWrapper: UIViewControllerRepresentable {
@ObservedObject var chartVM = ChartViewModel()
typealias UIViewControllerType = ViewController
func makeUIViewController(context: Context) -> ViewController {
let lineChartView = LineChartView()
let vc = ViewController(lineChartView: lineChartView)
return vc
}
func updateUIViewController(_ uiViewController: ViewController, context: Context) {
uiViewController.metrics = chartVM.metrics
uiViewController.setChartValues()
}
}
Я бы хотел, чтобы при изменении ObservedObject либо вызывается updateUIViewController
, либо другая функция, которая обновляет массив metrics
контроллера представления и вызывает его метод setChartValues()
.
Как я могу это сделать? Я не могу найти один
Я всегда могу это сделать, как мы привыкли использовать только UIKit, но было бы гораздо лучше сделать это с использованием этого шаблона MVVM.
Помощь будет очень признательна, спасибо!