【发布时间】:2019-06-19 18:26:44
【问题描述】:
我正在解析数据并检查图像是否在缓存中。如果是,设置它,如果不设置它为默认并发送到缓存。
将它发送到缓存的部分一直给出 nil ???
任何帮助将不胜感激
Pic_STR = "https://myserver/Pictures/" + Pic + ".jpg" 让 url = URL(string: Pic_STR)
if let imageFromCache = imageCache.object(forKey: Pic_STR as AnyObject) as? UIImage {
data.photo = imageFromCache
return
} else {
data.photo = UIImage(named: "Default")
let imageCache = NSCache<NSString, AnyObject>()
URLSession.shared.dataTask(with: url!) { data, response, error in
guard let data = data, error == nil else { return }
let imageToCache = UIImage(data: data)
imageCache.setObject(imageToCache!, forKey: self.Pic_STR as NSString)
//self.image = imageToCache
}.resume()
}
【问题讨论】:
-
您需要将
imageCache对象声明为视图控制器的属性或将其声明为单例的属性。 -
是的,声明对象摆脱了错误,但代码仍然无法运行,ATS 系统信任失败,ATS 系统信任失败,TIC SSL 信任错误
-
尝试在您的信息列表中设置 NSAllowsArbitraryLoads
-
设置 NSAllowArbitraryLoads 不起作用