我有最新的xcode测试版,只是尝试在应用内加载网页。
import UIKit
class ViewController: UIViewController {
@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL (string: "https://www.google.com");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
在这一行:let requestObj = NSURLRequest(URL: url!);
我收到以下错误:
“NSURL”不能隐式转换为“URL”;你的意思是使用“as”来明确转换?
我删除了感叹号并收到此错误:
无法转换“NSURL”类型的值?预期参数类型“URL”
在过去的四个小时里,我一直在尝试使用互联网上的代码进行修改。我在想最新的swift只是不允许这样或者什么,因为没有任何作用。我设置为10.0部署目标和Xcode 8.0兼容。但我也尝试过这两个设置的早期版本,并且我在两个版本的所有版本中都得到了相同的错误。
是的,故事板上的webView已正确连接到ViewController.swift。
答案 0 :(得分:22)
在swift 3中,你需要使用URL
而不是NSURL
,所以创建这样的url对象。
if let url = URL(string: "https://www.google.com") {
webView.load(URLRequest(url: url))
}
答案 1 :(得分:4)
Swift 3.1的更新:
let url = URL(string: "https://www.google.com")
let request = URLRequest(url: url!)
webView.load(request)
请注意使用URL
代替NSURL
和load
代替loadRequest
。