2016-07-15 140 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

作爲一個測試,如果你fo請遵循[下載文件](https://firebase.google.com/docs/storage/ios/download-files)頁面中列出的代碼指南?具體來說就是內存下載部分。即鬆散dispatch_async調用。它更快嗎? – Jay

+0

只有你會得到圖像或其他細節 –

+0

@Jay它沒有dispatch_async更慢.. – Coder123

回答

2

翠鳥庫可用於緩存圖像它檢查圖像中的變化也安裝翠鳥後lib.you可以做到以下幾點:。

imageView.kf_setImageWithUrl (imageUrl)

+0

我安裝了翠鳥,不管它說「UIImage類型的值沒有成員kf_setImageWithUrl」,你能給我一些代碼示例嗎? – Coder123

+0

使用它與UIImageView並確保您已導入翠鳥。 –

+0

我做過了,我只是爲圖書館添加了「pod'Kingfisher','〜> 2.4'」並運行了pod install,是不是很明顯? – Coder123