Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift 3-相关函数不';我没接到电话_Ios_Swift_Xcode_Swift3 - Fatal编程技术网

Ios swift 3-相关函数不';我没接到电话

Ios swift 3-相关函数不';我没接到电话,ios,swift,xcode,swift3,Ios,Swift,Xcode,Swift3,我现在在Xcode 8上学习switf3,我被一个小应用程序卡住了,它基本上只是在webView元素中显示一个网页。我尝试实现的唯一附加功能是,外部URL作为共享应用程序(如Safari)打开 由于中有很多示例,我想我找到了使其工作所需的所有元素,但不知何故,检查url的func-webView没有被调用 以下是我的代码表单ViewController.swif: 导入UIKit 类ViewController:UIViewController、UIWebViewDelegate{ @ibvar

我现在在
Xcode 8
上学习
switf3
,我被一个小应用程序卡住了,它基本上只是在
webView
元素中显示一个网页。我尝试实现的唯一附加功能是,外部URL作为共享应用程序(如Safari)打开

由于中有很多示例,我想我找到了使其工作所需的所有元素,但不知何故,检查
url
func-webView
没有被调用

以下是我的代码表单
ViewController.swif

导入UIKit
类ViewController:UIViewController、UIWebViewDelegate{
@ibvar-webView:UIWebView!
重写func viewDidLoad(){
super.viewDidLoad()
self.webView.delegate=self;
让url=url(字符串:https://stackoverflow.com")
调试打印(url!)
loadRequest(url请求(url:url!))
}
// [...]
func webView(webView:UIWebView!,shouldStartLoadWithRequest:URLRequest!,navigationType:UIWebView navigationType)->Bool{
debugPrint(“已调用func webView”)
debugPrint(request.url!)
如果navigationType==UIWebViewNavigationType.linkClicked{
if(request.url!.host!=“stackoverflow.com”){
返回真值
}否则{
//UIApplication.sharedApplication().openURL(request.URL!)
UIApplication.shared.open(request.url!)
返回错误
}
}
返回真值
}
}
我的后勤错误在哪里?

试试这个

编辑

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
    }

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

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

此选项已设置,仅允许表单
http
链接等非安全内容。那不是我要找的!是的,就是这样!但是速度更快!是的,网络问题。顺便说一句,谢谢你的投票。快乐编码:)在加载请求之前,您是否尝试过设置
delegate=self
。。。只是为了测试,我把它移了下来。我将在这里的问题中更正…另外注意,检查
request.url!非常重要!。主持人!=nil
否则,应用程序在没有主机的情况下会遇到url请求问题,比如
mailto
。为什么会投反对票?就是这样!非常感谢,对于初学者来说,Swift 3的语法变化太大了,这真让人困惑。。。因此,大多数代码示例不再适用。Swift 3中的委托方法从Objective-C桥接而来,与视图相关,在左括号后始终有下划线,参数类型通常为非可选或常规可选(