У меня есть код, который загружает несколько веб-страниц, используя WKWebView
. Есть ли способ подключить уникальную функцию обработчика завершения для каждого вызова WKWebView.loadHTMLString
.Добавить уникальный обработчик завершения для каждой загрузки WKWebView
Я заметил, что каждый возвращает WKNavigation?
, но я не хочу использовать WKNavigationDelegate
, так как это относится ко всем событиям загрузки.
К примеру, прямо сейчас без обработчика завершения, я делаю это:
wkWebView?.loadHTMLString("<p>Loading page #1</p>", baseURL: nil)
Я хотел бы уникальный обработчик завершения, как это:
wkWebView?.loadHTMLString("<p>SLoading page #1</p>", baseURL: nil, completionHandler: {
print("Loaded page #1. Doing things only required for page #1.")
})
Тогда для другой нагрузки я мог бы изменить обработчик завершения:
wkWebView?.loadHTMLString("<p>SLoading page #2</p>", baseURL: nil, completionHandler: {
print("Loaded page #2")
})
Таким образом, вы знаете, что вы дали объект WKNavigation но _refuse использовать it_ именно для той цели, для которой они дают его вам ???? – matt
@matt Я не могу использовать 'WKNavigation', поскольку он предназначен для всех событий навигации, делегированных одному объекту (если я понимаю его цель). У меня есть несколько объектов, которым необходимо загрузить строку HTML, а затем выполнить некоторые действия. Что-то похоже на [оценкаJavaScript (_: completionHandler:)] (https://developer.apple.com/reference/webkit/wkwebview/1415017-evaluatejavascript), но для загрузки HTML - это то, что я пытаюсь реализовать. – user2560886
Но разве это не просто вопрос маршрутизации сообщений разумно? – matt