真的无法想出这个,URL打印并且不等于nil
,当我粘贴它时,它在浏览器中有效。有什么想法吗?
import UIKit
class WebViewController: UIViewController {
var postLink: String = String()
@IBOutlet weak var mywebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
print(postLink)
let attempt = postLink
let url: URL = URL(string: attempt)!
let request: URLRequest = URLRequest(url: url)
mywebView.loadRequest(request)
}
错误发生在:
让url:URL = URL(字符串:尝试)!
答案 0 :(得分:2)
错误很简单,postLink
,您提供的创建URL不正确。我的猜测是空的。(只是一个猜测),你忘了设置它。
尽量避免在代码中使用强制解包!
。
您应该在方案中使用guard let
或if let
。
在您的情况下,您可能希望在无法加载时向用户显示一些错误。而不是
let url: URL = URL(string: attempt)!
使用
if let url = URL(string: attempt) {
let request = URLRequest(url: url)
mywebView.loadRequest(request)
} else {
// Do something like. Show an alert that could not load webpage etc.
}
或者您可以使用guard let
,但需要从使用它的函数返回。要了解有关if
和guard let
使用情况的更多信息,请访问博文here。
答案 1 :(得分:1)
我猜你是从另一个控制器传递urlString,改为
LAST_VALUE