Когда ObservedObject, переданный в представление, обновляется, SwiftUI не обновляется? - PullRequest
0 голосов
/ 26 мая 2020

У меня есть представление SearchResults. Он должен обновляться всякий раз, когда переданный в него ObservedObject изменяется, но View не обновляется новыми значениями, и я не уверен, почему.

import SwiftUI

struct SearchResults: View {
    @ObservedObject var VModel: ViewModel
    var body: some view {
        List {
            ForEach(self.VModel.searchResults, id: \.self) { result in 
                Text(result)
            }
        }
    }
}


class ViewModel: ObservableObject {
    @Published var searchResults: [String] = []

    func findResults() {
        //Do the update to 'searchResults' here
        //This function is called at another point in the code in a pretty big file...I think it might make it more confusing to have like a couple hundred more lines of code in here
    }
}

Боковое примечание: VModel имеет массив типа [String] под названием searchResults, и я подумал, что это представление должно обновляться всякий раз, когда обновляется массив searchResults ..?

1 Ответ

0 голосов
/ 26 мая 2020

Извините за путаницу, видимо я действительно тупой. Я создавал новый экземпляр ViewModel () вместо того, чтобы передавать экземпляр, объявленный в ContentView

...