Я не знаю, на данный момент, я не знаю, почему я получаю ноль каждый раз, когда пытаюсь получить. Я передаю правильные данные изображения и идентификатор. Вот небольшой фрагмент кодаПочему мои изображения не кэшируются в AlamofireImage?
let photoCache = AutoPurgingImageCache(
memoryCapacity: 100 * 1024 * 1024,
preferredMemoryUsageAfterPurge: 60 * 1024 * 1024
)
func cacheImage(image: Image, urlString: String) {
print("Image size: \(image.size) and string as identifier: \(urlString)")
self.photoCache.addImage(image, withIdentifier: urlString)
}
func cachedImage(urlString: String) -> Image? {
print("What is url? : \(urlString)")
print("What we are actually returning? : \(self.photoCache.imageWithIdentifier(urlString))")
return self.photoCache.imageWithIdentifier(urlString)
}
печати для функции cacheImage: Размер изображения: (2826,0, 3722,0) и строка в качестве идентификатора: HTTP: www.somelink.com/DT199.jpg
печати для cachedImage когда это Я пытаюсь получить его: что такое URL? : http: www.somelink.com/DT199.jpg То, что мы на самом деле возвращаем, это: nil
Я не знаю, почему это происходит. Я попробовал его несколько раз раньше, и он отлично работал. Я также читал об этих функциях, они не возвращают никакого логического ответа, через который мы можем узнать, находится ли изображение в кеше или нет.
Позже, я попробовал использовать диспетчер загрузки, и ничего не случилось до сих пор невежественным. Если кто-нибудь может мне помочь? Вот код
let imageDownloader = ImageDownloader(
configuration: ImageDownloader.defaultURLSessionConfiguration(),
downloadPrioritization: .FIFO,
maximumActiveDownloads: 15,
imageCache: AutoPurgingImageCache()
)
let downloader = imageDownloader
Alamofire.request(.GET, request, headers: headers)
.responseJSON { response in
if let JSON = response.result.value {
self.imagesArray = NSMutableArray()
self.imagesArray = JSON["results"] as! NSMutableArray
for results in self.imagesArray{
let URLRequest = NSURLRequest(URL: NSURL(string:results["url"] as! String)!)
downloader.downloadImage(URLRequest: URLRequest, filter: nil, completion: { response in
if response.response?.statusCode == 200{
print("In the house fetching url: \(results["url"] as! String)")
let image = response.result.value
print("Size of image: \(image?.size)")
let returnValue = downloader.imageCache?.addImage(image!, withIdentifier: results["url"] as! String)
print("return status: \(returnValue)")
if results .isEqual(self.imagesArray.lastObject){
self.activityIndicatorView.stopAnimating()
self.activityIndicatorView.hidden = true
let fic = self.imagesArray.firstObject
print("getting image for this url : \(fic!["url"] as! String)")
var imageC = UIImage()
imageC = (downloader.imageCache?.imageWithIdentifier(fic!["url"] as! String))!
self.ssImage.image = imageC
print("Image : \(imageC.size))")
}
}
})
}
}
}