ios - EXC_BAD_ACCESS 如果发生错误,告诉我们如何尝试catch
问题描述
let path = DataManager.Data.filePath
self.pdfDocument = PDFDocument(url: URL(fileURLWithPath: path))!
self.pdfView.document = self.pdfDocument <——— EXC_BAD_ACCESS Error on this line.
EXC_BAD_ACCESS 如果发生错误,告诉我们如何尝试catch。
打开所有 pdf 文件时不会发生这种情况,但是当尝试打开特定的 pdf 文件时,会发生 EXC_BAD_ACCESS。
首先,当 EXC_BAD_ACCESS 发生时,您想通过 try catch 防止应用程序崩溃。
我已经尝试了所有的方法,但我没能抓住它,我一直在这条线上迷恋。
我该怎么办..?
解决方案
发生错误是因为您尝试传递给 pdfDocument 的路径是 nil 并且您尝试强制解包它,
尝试使用此错误处理
let path = DataManager.Data.filePath
if let document = PDFDocument(url: URL(fileURLWithPath: path)) {
self.pdfView.document = document
}
else {
//return from function or do what ever you need if you can't get the pdf document
}
推荐阅读
- python - 在没有ffmpeg的Python中将AAC字节转换为WAV字节?
- android - Android - 在发布应用程序中使用 charls 代理可见 API - 如何在发布应用程序中保护 api 详细信息?
- tensorflow - 如何在 10M+ 语料库上使用 BERT 执行文本相似度?使用 LSH/ANNOY/fiass 或 sklearn?
- reactjs - 需要对 React 代码的行为有所启发
- javascript - 如何在csv中存储前导零以传递邮递员脚本
- teradata - If Then Block 在雪花中使用 SnowSQL
- python - 即使我正确安装它,导入 numpy 也会出错
- python - Django Querying:如何通过帐户所有者创建的博客文章查询帐户页面?又名链接从一个到另一个
- javascript - 如何使用 Javascript 格式化带有换行符的 XML 字符串?
- python - 如何在 Python 中存在大括号的情况下使用字符串格式?