ObservedObject не конвертируется в Binding - PullRequest
0 голосов
/ 22 декабря 2019

Я пытаюсь реализовать MVVM с swiftUI

Итак, у меня есть это представление модели

class HomeViewModel: ObservableObject {
    @Published var favoriteStores = Array<ItemStore>()

    init() {
        for i in 0...10 {
            favoriteStores.append(ItemStore(storeName: "Store \(i)", storeImg: "image url"))
        }
    }
}

И это представление:

struct HomeView: View {
    @ObservedObject var homeVM = HomeViewModel()
    @State var faves = [
        ItemStore(storeName: "Store 0", storeImg: "image url"),
        ItemStore(storeName: "Store 1", storeImg: "image url"),
        ItemStore(storeName: "Store 2", storeImg: "image url")
    ]
    @State var searchText = ""


    var body: some View {
        NavigationView{
            GeometryReader { geometry in

                ScrollView{
                    VStack{

                        SearchBarView(searchText: self.$searchText)
                        Spacer()
                            .padding(.vertical, 5.0)
                        FavoriteStoresView(favoriteStores: self.homeVM.favoriteStores)
                        FiltersView()
                        StoresView()
                    }.padding()
                }

            }
        }
    }
}

проблема здеськогда я использую self.homeVM.favoriteStores, я получил: '[ItemStore]' is not convertible to 'Binding<[ItemStore]>'

но когда я использую @State var faves вместо этого, он отлично работает

я видел много уроков, и это должно работать так, потому чтоswiftUI обрабатывают эту часть, и она оборачивается с помощью Binding

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...