Всем привет!
С помощью YouTube api загружаю список роликов с youtube. При запуске приложения все ОК, но стоит только что-то изменить в ContentView (в том числе при вызове .actionSheet), то список роликов пропадает…
Может нужно делать refresh/reload для моего Movielist?
Подскажите, пожалуйста, в чем проблема.
import SwiftUI
struct MovieList: View {
@ObservedObject var store: MovieStore let layout = [ GridItem(.flexible()), GridItem(.flexible()) ] var body: some View { NavigationView { ScrollView { LazyVGrid(columns: layout, spacing: 10) { ForEach(store.movies ?? [Movie]()) { movie in NavigationLink (destination: WebView(webViewURL: "https://www.youtube.com/embed/\(movie.videoId)")) { URLImage(url: movie.thumbnail) } } } } .padding() .navigationBarTitle(Text("Youtube ролики")) .navigationBarTitleDisplayMode(.inline) } .onAppear { self.store.getAll() } }
}
В ContetntView:
VStack {
MovieList(store: MovieStore())}
В WebView:
import SwiftUI
import WebKitstruct WebView: UIViewRepresentable {
var webViewURL: String = "" func makeUIView(context: UIViewRepresentableContext<WebView>) -> WebView.UIViewType { WKWebView()
}
func updateUIView(_ uiView: WKWebView, context: UIViewRepresentableContext<WebView>) { let request = URLRequest(url: URL(string: webViewURL)!) uiView.load(request) }
}
Благодарю!