‘NSURL’ is not implicitly convertible to ‘URL’; did you mean to use ‘as’ to explicitly convert?异常
缘起
今天使用IOS Webview开发Hello World的时候出现异常。
本来想用Mac开发一个HelloWorld,照着demo开发,结果在代码编译就报错!
override func viewDidLoad() {
super.viewDidLoad()
// 1.设置访问资源 -
let url = NSURL(string: "http://www.hushuang.me/");
// 2.建立网络请求
let request = NSURLRequest(URL: url)
// 3.加载网络请求
webView.loadRequest(request)
}
XCode直接提示:
'NSURL' is not implicitly convertible to 'URL'; did you mean to use 'as' to explicitly convert?
通过google才发现,原来使用NSURL
已经过时了,由于我用的swift语言,而且XCode版本是8.1, 默认使用了swift3,在swift3中,NSURL
被URL
替代,所以最后的代码是:
override func viewDidLoad() {
super.viewDidLoad()
// 1.设置访问资源 -
let url = URL(string: "http://www.hushuang.me/");
// 2.建立网络请求
let request = URLRequest(url: url!);
// 3.加载网络请求
webview.loadRequest(request)
}
缘近
提示:如果你在写Webview入门,可能还会遇到一个问题,就是页面加载内容为空,加载不了页面,这有延伸出来另外一个问题:
应用程序默认暂时屏蔽了不安全的HTTP协议(http:/ /)。如果想允许,可以通过您的应用程序的Info.plist文件配置。
App Transport Security has blocked a cleartext
HTTP (http://) resource load since it is insecure.
Temporary exceptions can be configured via your app's
Info.plist file.
具体请看我的另外一篇文章:解开XCode开发工具的http协议限制问题