在我的应用程序中,我试图从
以下是回溯信息,
编辑:这是完整的方法。
Data
实例化一个UIImage
。从App Store Connect传来的一些崩溃日志显示,我的代码在这行代码上崩溃:guard let data = photo.data, let image = UIImage(data: data) else { return nil }
以下是回溯信息,
PhotoCache
是我控制的最后一个对象,.imageFor(_:)
是包含上一行代码的方法。
![Crash Logs](https://istack.dev59.com/gBSm3.webp)
PFEvanscentData
是什么,可能是什么原因导致在这种情况下它崩溃了?编辑:这是完整的方法。
private var cache = NSCache<NSString, UIImage>()
func imageFor(_ photo: Photo) -> UIImage? {
guard let key = photo.id as NSString? else { return nil }
if let image = cache.object(forKey: key) {
return image
}
guard let data = photo.data, let image = UIImage(data: data) else { return nil }
cache.setObject(image, forKey: key)
return image
}
image = UIImage(data: data)
是你的问题所在吗?默认情况下,从数据中创建的UIImage不会缓存,所以你使用了任何第三方来缓存图像吗? - iUriiNSCache
对象,但是这行代码在请求的图像 不在 缓存中的代码路径中,并且必须从头开始初始化。因此它不应受到NSCache
的影响。我将在帖子中更新完整的方法。 - Avery Vine