使用 UIImage(contentsOfFile: ) 时获取 EXC_BAD_ACCESS

Posted

技术标签:

【中文标题】使用 UIImage(contentsOfFile: ) 时获取 EXC_BAD_ACCESS【英文标题】:Getting EXC_BAD_ACCESS when using UIImage(contentsOfFile: ) 【发布时间】:2019-05-11 09:45:02 【问题描述】:

我目前正在使用UIImage(contentsOfFile: path),如果一个函数返回文件路径的图像,但它让我得到 EXC_BAD_ACCESS。 我进行了很多搜索,并在 Objective-C 中找到了一些关于自动发布和解决方案的内容,但我找不到 Swift 的任何内容。我应该在 Swift 中做什么?

【问题讨论】:

我应该怎么做 – 显示代码。这个问题当然与内存管理无关。 【参考方案1】:

检查零:

let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
if let dirPath = paths.first 
   let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("Image2.png")
   let image    = UIImage(contentsOfFile: imageURL.path)
   // Do whatever you want with the image

【讨论】:

以上是关于使用 UIImage(contentsOfFile: ) 时获取 EXC_BAD_ACCESS的主要内容,如果未能解决你的问题,请参考以下文章

尽管缓存目录中存在文件,但 UIImage(contentsOfFile:) 返回 nil [重复]

UIImage返回nil但存在

swift上的UIImage无法检查nil

无法在 tvOS 应用程序中加载 LCR 图像

使用 contentsOfFile 方法的 NSDictionary 不在 Swift 中构建

Swift:无法使用String加载文件(contentsOfFile:encoding :)