我可以提取图像并在用户连接到互联网时将其缓存。但是如何离线缓存图像(当用户没有互联网连接时,尝试打开应用程序)。下面是我的代码
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有所了解。请指导我如何在没有互联网连接的情况下进行操作。预先感谢
答案 0 :(得分:0)
为了在没有Internet连接的情况下在我的应用程序中显示图像,我创建了一个名为cached_image的表,其中包含image_name和download_url字段,并保存了图像的相应URL。应用加载后,将从本地sqlite数据库获取的cached_images详细信息并显示图像