的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 
+1

哪条线是给你的错误。我会打赌它*让urlreq ... *为什么,因为这是你试图解开东西的唯一线路。我还会打赌,如果你在该行上放置断点并检查* url *的内容,则会发现它为零。 (当然,除非你没有发布真正让你适合的代码。)所以你需要真正问的问题 - 如果我在这里是正确的 - 阻止你的HTTP请求。 – dfd

+2

您是否在Info.plist中设置了ATP设置?如果没有,你的URL请求将被拒绝,因为它不是https –

+0

尝试在应用传输安全的字典中添加任意负载到YES –

发现无可能为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) 
}