2016-07-15 5 views
0

У меня есть проект, в котором у меня есть изображение (в Xcode 7.3). Мне нужно показать изображение из моего хранилища firebase и моего UIImageView, сейчас я использую этот код: (но это очень медленно - каждый раз, когда я вхожу в представление, для отображения моего изображения требуется 3-4 секунды)Загрузка изображений из хранилища firebase swift 2.2

func showImage(){ 

    FIRStorage.storage().referenceForURL("https://firebasestorage.googleapis.com/v0/b/restaurantproject-27368.appspot.com/o/bestdeal.jpg?alt=media&token=dcbd9da1-d368-48ef-8ed2-a861103e4ab8").dataWithMaxSize(10 * 1024 * 1024, completion: { (data, error) in 
     dispatch_async(dispatch_get_main_queue()) { 
      self.myImageView.image = UIImage(data: data!) 
     }   
    }) 
} 

Возможно, есть лучший способ? (плюс мне нужно как-то кэшировать его на моем устройстве, но мне нужно его, чтобы проверять изображение каждый раз, когда я вхожу в приложение, потому что мне нужно иногда менять изображение в моем хранилище firebase, и я хочу, чтобы приложение продолжало показывать обновленное изображение,

Спасибо !!

+0

В качестве теста, что произойдет, если вы llow инструкции по коду, изложенные на странице [Загрузить файлы] (https://firebase.google.com/docs/storage/ios/download-files)? В частности, раздел «Загрузка в память». то есть потерять вызовы dispatch_async. Это быстрее? – Jay

+0

только вы получите изображение или другую информацию с изображением –

+0

@Jay еще медленнее без dispatch_async .. – Coder123

ответ

2

Kingfisher библиотека может использоваться для кэширования изображения Он проверяет изменения в изображении слишком После установки зимородка lib.you можно сделать следующее:..

imageView.kf_setImageWithUrl (imageUrl)

+0

Я установил зимородок, будь то «значение типа UIImage не имеет члена kf_setImageWithUrl», можете ли вы дать мне пример кода для этого, пожалуйста? – Coder123

+0

Используйте его с UIImageView и убедитесь, что вы импортировали зимородок. –

+0

Я сделал, я просто для библиотеки, я только что добавил «pod« Kingfisher »,« ~> 2.4 »и запускал pod install, это enougth? – Coder123

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