2017-03-02 34 views
0

我從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 –

回答

0

發現無可能爲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。

0

嘗試NSURL:

func myaction() { 
    let url = NSURL(string: "http://192.168.1.5/doit") 
    let urlreq = NSURLRequest(url: url!) 
    mywebview.loadRequest(urlreq) 
} 
相關問題