swift 3 - declated函数没有被调用

时间:2017-07-29 12:20:49

标签: ios swift xcode swift3

我现在正在 Switf 3 上学习 Xcode 8 ,而我却陷入了一个小应用程序,基本上只显示了一个网页一个webView元素。我尝试实现的唯一添加功能是外部URL作为共享应用程序(例如Safari)打开。

由于SO中有很多例子,我认为我找到了使其工作所需的所有元素,但不知何故检查func webView的{​​{1}}没有得到调用。

到目前为止,我的代码形式为url

ViewController.swif

我的后勤错误在哪里?

2 个答案:

答案 0 :(得分:1)

试试这个

修改

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        debugPrint("func myWebView has been called")
        debugPrint(request.url!)
        if navigationType == UIWebViewNavigationType.linkClicked {
            if (request.url!.host! == "stackoverflow.com"){
                return true
            } else {
                //UIApplication.sharedApplication().openURL(request.URL!)
                UIApplication.shared.open(request.url!)
                return false
            }
        }
        return true
    }

答案 1 :(得分:1)

Swift 3中委托方法的签名是错误的:

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool