Здравствуйте! Я хочу создать приложение с несколькими веб-представлениями, чтобы после их однократной загрузки я не хотел, чтобы они больше создавались заново, я хочу, чтобы они сохранили свой экземпляр.
Я создаю в своем приложении Навигация, которая включает в себя список из 10 сайтов. Когда я нажимаю на элемент списка, я хочу отобразить соответствующее веб-представление с NavigationLink. Оно работает. Но проблема в том, что если я нажму на другой элемент списка и вернусь к предыдущему, он вернется на домашнюю страницу, веб-просмотр снова загрузится. Я хочу, чтобы веб-просмотр создавался только один раз и всегда оставался в живых до тех пор, пока приложение живо. Я знаю, что swiftui всегда обновляет sh представления, это проблема, как я могу предотвратить обновление моего веб-просмотра swiftUI?
В uitkit все просто, я создаю массив wkwebview при запуске приложения, загружаю все мои URL веб-просмотра, в классе Singleton. И в зависимости от элемента, выбранного из моего табличного представления, я отображаю соответствующий wkwebview. И даже если я поменяю элемент, все мои веб-страницы будут живы, даже если мы их не увидим.
struct WebView : UIViewRepresentable {
let request: URLRequest
func makeUIView(context: Context) -> WKWebView {
let web = WKWebView()
web.load(request)
return web
}
func updateUIView(_ uiView: WKWebView, context: Context) {
}
}