我尝试将PDF加载到UIWebView中,但在使用loadRequest
时,我收到错误unexpectedly found nil while unwrapping an Optional
。我的相关代码如下:
let url = NSURL(string: "http://www.urartuuniversity.com/content_images/pdf-sample.pdf")!
println(url.fileURL)
println("The URL is \(url.absoluteURL!)")
let request = NSURLRequest(URL: url)
webView.loadRequest(request)
第二行代码输出false(不出所料),但第三行输出正确的URL。 webView是一个连接的UIWebView。
我已经查看了几个类似错误的示例,但似乎没有一个适用,特别是因为NSURL似乎正在工作,因为URL.absoluteURL!
正确输出,正如许多其他类似的命令一样。
我也看到了对RFC 2396的引用,但在查看W3的文档时,我的网址似乎遵循了这些指南,但如果它没有,那么请告诉我这是什么格式是以及如何更改URL(因为我将不得不逐字地更改数千个,而这个PDF仅仅是我在网上找到的PDF示例。)
查看调试部分时,url是一个NSURL,保存其值的位置表示PDF的URL,而不是内存地址,这可能部分地解决了我的一些问题。
修改:为了让我的情况更加怪异,因为我使用的是具有拆分视图和表格视图的通用应用,当我加载iPad时,PDF正确加载,但是当我回到主视图并点击某些内容,重新加载详细信息视图时,会发现致命异常。如果这没有意义,请告诉我,我会尽量让它更容易理解。
答案 0 :(得分:2)
问题是你不知道什么是零。添加更多日志记录,如下所示:
let url = NSURL(string: "http://www.urartuuniversity.com/content_images/pdf-sample.pdf")!
let request = NSURLRequest(URL: url)
println(url)
println(request)
println(webView)
webView.loadRequest(request)
通过这种方式,通过让您的应用程序完成其步伐并尝试重现崩溃,您将发现在崩溃之前, 是什么webView
,但猜测不是编程 - 问题是,到目前为止,你只是在猜测。不要猜。你有一个调试器!调试!!!