![](/img/trans.png)
[英]UIViewRepresentable not updating binding to ObservedObject property?
[英]ObservedObject not convertible to Binding
我正在嘗試使用 swiftUI 實現 MVVM
所以我有這個視圖模型
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包裝它
將帶有FavoriteStoresView
的行更改為:
FavoriteStoresView(favoriteStores: self.$homeVM.favoriteStores)
(在成員 var 前加一個$
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.