0
私は現在、自分のアプリケーションにWKWebViewを実装しています。私のアプリケーションが外部リンクにどのように応答するかを決めるために、decidePolicyFor委譲メソッドを使いたいと思います。 Swift 3.0のWKWebView代理人(decidePolicyFor)の問題
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
if navigationAction.navigationType == WKNavigationType.linkActivated && !(navigationAction.request.url?.host?.lowercased().hasPrefix("www.example.com"))! {
UIApplication.shared.open(navigationAction.request.url!, options: [:], completionHandler:nil)
decisionHandler(.allow)
}
else
{
decisionHandler(.cancel)
}
}
コンパイラがSWIFT 3.0で私に次のような問題を与えているしかし: -
インスタンスメソッド 'のWebView(:decidePolicyForは:decisionHandlerは:)' ほぼ一致し、オプションの要件「のWebView(:decidePolicyFor :decisionHandler :)」プロトコルの 『WKNavigationDelegate』
は、誰もがこの解決策を知っていますし、もっと重要なのは、なぜこれが
起こっていますありがとうございます。
ありがとう、閉鎖パラメータ。時には最も明白なものはあまり明らかではありません。 – Tom