的AppDelegate:意外发现零而展开
问题描述:
我从AppDelegate中制作一个简单的调用一个可选值:的AppDelegate:意外发现零而展开
let vc = ViewController()
vc.myaction()
行动开辟了一个Web视图对象中的URL(被装载在didload覆盖)
,这是功能:
func myaction() {
let url = URL(string: "http://192.168.1.5/doit")
let urlreq = URLRequest(url: url!)
mywebview.loadRequest(urlreq)
}
,这是错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
答
发现无可能为mywebView
,因为它只会在您的viewcontroller
视图加载时初始化。尝试使用以下代码
func myaction() {
let mywebview = UIWebView()
let url = URL(string: "http://192.168.1.5/doit")
let urlreq = URLRequest(url: url!)
mywebview.loadRequest(urlreq)
}
或者您可以初始化myaction()
以外的mywebview。
答
尝试NSURL:
func myaction() {
let url = NSURL(string: "http://192.168.1.5/doit")
let urlreq = NSURLRequest(url: url!)
mywebview.loadRequest(urlreq)
}
哪条线是给你的错误。我会打赌它*让urlreq ... *为什么,因为这是你试图解开东西的唯一线路。我还会打赌,如果你在该行上放置断点并检查* url *的内容,则会发现它为零。 (当然,除非你没有发布真正让你适合的代码。)所以你需要真正问的问题 - 如果我在这里是正确的 - 阻止你的HTTP请求。 – dfd
您是否在Info.plist中设置了ATP设置?如果没有,你的URL请求将被拒绝,因为它不是https –
尝试在应用传输安全的字典中添加任意负载到YES –