2016-02-04 1 views
13

мне нужно, чтобы получить UIImage только вместо загрузки нормальный UIImageView с Kingfisher libraryПолучить UIImage только с Kingfisher библиотеки

Чтобы реализовать это я реализовал обходной путь с UIImageView:

let imageView = UIImageView() 

imageView.kf_setImageWithURL(NSURL(string: cpa.imageName)!, placeholderImage: nil, 
     optionsInfo: [.Transition(ImageTransition.Fade(1))], 
     progressBlock: { receivedSize, totalSize in 
      print("\(receivedSize)/\(totalSize)") 
     }, 
     completionHandler: { image, error, cacheType, imageURL in 
      anView!.image = image //anView IS NOT an UIImageView 
      anView!.frame.size = CGSize(width: 15.0, height: 15.0) 
      print("Finished") 
    }) 

Этот код работает отлично, но я хотел бы сделать это чище. Есть ли метод в этой библиотеке, чтобы получить только UIImage? Асинхронный и кэшированный

ответ

26

Для этого можно использовать метод retrieveImage(with:options:progressBlock: completionHandler:)KingfisherManager.

Может быть что-то вроде этого:

KingfisherManager.shared.retrieveImage(with: url, options: nil, progressBlock: nil, completionHandler: { image, error, cacheType, imageURL in 
    print(image) 
}) 
+2

Досадно переименован в Swift 3 к 'KingfisherManager.shared.retrieveImage (с: URL! , options: nil, progressBlock: nil) {(изображение, ошибка, cacheType, imageURL) ->() в печать (изображение) } ' –

+0

Это также кэширует изображение? – DoesData

+1

@DoesData да это –

4

В новой версии Swift 3 вы можете использовать ImageDownloader:

ImageDownloader.default.downloadImage(with: url, options: [], progressBlock: nil) { 
    (image, error, url, data) in 
    print("Downloaded Image: \(image)") 
} 
+3

Это не будет использовать кеш в соответствии с этим [строка] (https://github.com/onevcat/Kingfisher/blob/743e3f2a54408de212d8ec74a5c91747b6a26f7e/Sources/ImageDownloader.swift#L288) 'cachePolicy: .reloadIgnoringLocalCacheData', который является точкой использования Kinfisher по любому другому более простому методу –

 Смежные вопросы

  • Нет связанных вопросов^_^