【发布时间】:2015-09-02 02:29:21
【问题描述】:
我正在尝试将 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。
我查看了一些类似错误的示例,但似乎没有一个适用,特别是因为URL.absoluteURL! 正确输出,NSURL 似乎正在工作,许多其他类似的命令也是如此。
我也看到了对 RFC 2396 的引用,但是在查看 W3 的文档时,我的 URL 似乎遵循这些准则,但如果不是,那么请告诉我格式是什么以及如何更改 URL (因为我将不得不再更改数千个,而这个 PDF 只是我在网上找到的一个示例 PDF)。
在调试部分查看时,url 是一个 NSURL,保存其值的位置表示 PDF 的 URL,而不是内存地址,这可能部分导致我的一些问题。
编辑:为了让我的情况更加奇怪,因为我使用的是具有拆分视图和表格视图的通用应用程序,当我加载 iPad 时,PDF 加载正确,但是我回到主视图并单击某些东西,重新加载详细视图,发现致命异常。如果这没有意义,请告诉我,我会尽力使其更易于理解。
【问题讨论】:
-
您的 url 不是 nil,所以问题标题可能有点误导。无论如何,我建议您仔细检查所有内容是否与您的界面构建器正确连接。
-
感谢标题和界面构建器的建议,界面构建器中的所有内容都已连接。
-
尝试
if let webView = webView { webView.loadRequest(request) } else { print("webView is nil") }只是为了检查在您尝试加载请求时您的 webView 是否因某种原因消失了。
标签: ios swift uiwebview nsurl nsurlrequest