gpt4 book ai didi

swift - 如何在swift中离线缓存图像(没有互联网连接)?

转载 作者:行者123 更新时间:2023-11-30 11:09:08 25 4
gpt4 key购买 nike

当用户有互联网连接时,我能够获取图像并缓存它。但是如何离线缓存图像(当用户没有互联网连接时,尝试打开应用程序)。下面是我的代码

func downloadImages(){
let storage = Storage.storage().reference()



for i in animated_images{
let storageRef = storage.child("images/\(i).jpg")
storageRef.downloadURL { (url, error) in
if let error = error{
print(error.localizedDescription)
}
else{
self.downloaded_images.updateValue(url!, forKey: i)
self.tableView.reloadData()
}
}
}

}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! demoCell
cell.textDemo.text = images[indexPath.row]

var image1 = downloaded_images[images[indexPath.row]]
var image2 = downloaded_images[images[indexPath.row]+"1"]

var value1 = SDImageCache.shared().imageFromCache(forKey: image1?.absoluteString)
var value2 = SDImageCache.shared().imageFromCache(forKey: image2?.absoluteString)

if let downloadURL1 = value1, let downloadURL2 = value2{
cell.imageDemo.animationImages = [downloadURL1,downloadURL2]
cell.imageDemo.animationDuration = 2
cell.imageDemo.startAnimating()
}
else{
cell.imageDemo.sd_setAnimationImages(with: [image1!,image2!])
cell.imageDemo.animationDuration = 2
cell.imageDemo.startAnimating()
}

return cell
}

我是 iOS 开发新手,对 Coredata 和 sqlite 有一些了解。请指导我如何在没有互联网连接的情况下进行操作。提前致谢

最佳答案

为了在没有互联网连接的情况下在我的应用程序中显示图像,我创建了一个名为cached_image的表,其中包含字段image_name和download_url,并保存了图像各自的URL。当应用程序加载时,会显示从本地 sqlite 数据库获取的 cached_images 详细信息和图像

关于swift - 如何在swift中离线缓存图像(没有互联网连接)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52368500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com