NSURL/NSURLRequest 意外地为零
NSURL/NSURLRequest is unexpectedly nil
我正在尝试将 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)
第二行代码输出错误(不出所料),但第三行输出正确 URL。 webView 是连接的 UIWebView。
我看过几个类似错误的例子,但 none 似乎适用,特别是因为 NSURL 似乎由于 URL.absoluteURL!
正确输出而工作,因为执行了许多其他类似的命令。
我也看到了对 RFC 2396 的引用,但是在查看 W3 的文档时,我的 URL 似乎遵循了这些指南,但如果没有,请告诉我格式是什么以及如何更改 URL(因为我将不得不再更改数千个,而此 PDF 只是我在网上找到的示例 PDF)。
在调试部分查看时,url 是一个 NSURL 并且保存其值的地方表示 PDF 的 URL,而不是内存地址,这可能部分解决了我的一些问题。
编辑: 为了让我的情况更奇怪,因为我使用的是带有拆分视图和 table 视图的通用应用程序,当我加载iPad,PDF 加载正确,但当我返回主视图并单击某些内容、重新加载详细视图时,发现致命异常。如果这没有意义,请告诉我,我会尽量让它更容易理解。
问题是你不知道什么是nil。添加更多日志记录,如下所示:
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
,但猜测不是编程 — 问题是,到目前为止,you 只是在猜测。不要猜测。你有一个调试器!调试!!!
我正在尝试将 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)
第二行代码输出错误(不出所料),但第三行输出正确 URL。 webView 是连接的 UIWebView。
我看过几个类似错误的例子,但 none 似乎适用,特别是因为 NSURL 似乎由于 URL.absoluteURL!
正确输出而工作,因为执行了许多其他类似的命令。
我也看到了对 RFC 2396 的引用,但是在查看 W3 的文档时,我的 URL 似乎遵循了这些指南,但如果没有,请告诉我格式是什么以及如何更改 URL(因为我将不得不再更改数千个,而此 PDF 只是我在网上找到的示例 PDF)。
在调试部分查看时,url 是一个 NSURL 并且保存其值的地方表示 PDF 的 URL,而不是内存地址,这可能部分解决了我的一些问题。
编辑: 为了让我的情况更奇怪,因为我使用的是带有拆分视图和 table 视图的通用应用程序,当我加载iPad,PDF 加载正确,但当我返回主视图并单击某些内容、重新加载详细视图时,发现致命异常。如果这没有意义,请告诉我,我会尽量让它更容易理解。
问题是你不知道什么是nil。添加更多日志记录,如下所示:
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
,但猜测不是编程 — 问题是,到目前为止,you 只是在猜测。不要猜测。你有一个调试器!调试!!!