![](/img/trans.png)
[英]webView.loadRequest error if use presentViewController, but if use segue all is ok
[英]“unexpectedly found nil …” error when performing webView.loadRequest(request)
我正在嘗試創建一個自定義UIViewControllers數組,它們每個都包含一個UIWebView。 在for循環中,在“ loadRequest”處,我得到“致命錯誤:在展開可選值時意外發現nil”。 肯定有一個帶有URL的NSURLRequest傳入。如果我注釋掉“ reportVC.reportWebView.loadRequest(request)”,則一切運行正常。
func createViewControllers(callback:(controllers:[ReportViewController])->()){
var urls = [NSURL]()
getPDFs { (pdfURLs) -> () in
urls = pdfURLs
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
var reportControllers = [ReportViewController](count: urls.count, repeatedValue: ReportViewController())
for (index,url) in enumerate(urls){
var reportVC : ReportViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ReportVC") as ReportViewController
//reportVC.title = ""
let request = NSURLRequest(URL: url)
reportVC.reportWebView.loadRequest(request)
reportControllers[index] = reportVC
if reportControllers.count == urls.count{
callback(controllers: reportControllers)
}
}
}
}
任何指導將不勝感激。 謝謝。
在所有的可能性reportWebView
在reportVC
的實例ReportViewController
是未結合的(綁定到nil
)。 Xcode IB將IBOutlet聲明為“隱式展開的可選內容”-您需要為其提供初始值。 否則,第一次訪問該屬性將導致運行時異常。
通過確保reportWebView
綁定到UIWebView
(在情節reportWebView
或代碼中)來reportWebView
錯誤。
另外,在調用loadRequest()之前,請確保已正確初始化UIWebView對象。 否則,您可能希望將URL存儲在該類的成員對象中,直到執行viewWillAppear()為止。
然后,從viewWillAppear()內部調用loadRequest()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.