У меня есть структура 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
Помощь будет намногооценил, спасибо!