-2
URL에서 이미지를 캐싱하여 테이블 스크롤을보다 부드럽게하려고합니다. 이것은 캐싱하지 않는 것 같고 내가 뭘 잘못하고 있는지 알 수 없습니다. 아무도이게 뭐가 잘못 됐는지 말해 줄 수 있니? 새로운 다운로드를 발사하기 전에 다른 {이 있어야처럼빠른 이미지 캐시가 작동하지 않습니다.
let imageCache = NSCache()
extension UIImageView {
func loadImageUsingCacheWithUrlString(urlString: String) {
self.image = nil
//check cache for image first
if let cachedImage = imageCache.objectForKey(urlString) as? UIImage {
self.image = cachedImage
return
}
//otherwise fire off a new download
let url = NSURL(string: urlString)
NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) in
//download hit an error so lets return out
if error != nil {
print(error)
return
}
dispatch_async(dispatch_get_main_queue(), {
if let downloadedImage = UIImage(data: data!) {
imageCache.setObject(downloadedImage, forKey: urlString)
self.image = downloadedImage
}
})
}).resume()
}
}
는 느낌,하지만 난 그것을 잘 작동했다 생각하지 않는 것을 시도하더라도. 나는이 방법으로 테이블을 스크롤하여 모든 이미지를 캐싱 할 수있는 기회가 있는지 확인한 다음 전체 다운로드 부분을 삭제하여 캐시 된 이미지 만로드하고 이미지가 나타나지 않도록했습니다. 그것이 실제로 그것들을 캐싱하고 있다고 생각하십시오.
사람들이 투표를 거절하는 이유는 무엇입니까 ?? –
이미지를 기기에 저장하고 싶으므로 앱을 닫고 다시 열면 이미지를 다시 다운로드하지 않고도 이미지를 볼 수 있습니다. –
예 테이블을보다 부드럽게 스크롤 할 수 있도록 이미지를 캐시하고 싶습니다. 또한 오프라인에서 사용할 수있게되기를 바랬습니다. –