2016-11-02 15 views
1

URLから画像を取得してボタンに適用しようとしています。なんらかの理由でこれは最初には機能しませんが、画像が表示コントローラをロードする2回目に表示されます。それはそれをキャッシュすることができるように見えますが、後でそれをキャッシュから取得しますが、キャッシュからのみ、それを表示することはできません。これがコードです、私はFirebaseから画像を取得しています。次のように私はURLから画像を取得し、それをキャッシュ、またはキャッシュからロードするために使用URLからのボタン画像が表示されない

DataService.ds.REF_USERS.child(self.loggedInUserId!).observeEventType(.Value, withBlock: { userDictionary in 
    let userDict = userDictionary.value as! NSDictionary 
    let profileThumbUrl = userDict.objectForKey("profileThumbUrl") as! String 
    self.button.imageView!.contentMode = UIViewContentMode.ScaleAspectFill 
    let profileThumbImage = UIImageView() 
    if profileThumbUrl != "" { 
      profileThumbImage.loadImageUsingCacheWithUrlString(profileThumbUrl) 
      self.button.setImage(profileThumbImage.image, forState: .Normal) 
    } else { 
      self.button.setImage(UIImage(named: "defaultUserSmall"), forState: .Normal) 
    } 
}) 

関数です。私はアプリ内の他の場所を使用し、正常に動作しますが、このボタンで使用しようとすると、URLからロードされているとは見えませんが、キャッシュからキャッシュに表示されます:

答えて

1

さて、これを解決しなければならなかったのは、以前のView Controllerでイメージをロードし、GlobalSingletonに送信して、ビューがロードされたときに準備を整えることでした。私はあなたがいつもこれをすることができないので、これをやることを本当に好きではない、それはちょうど私の場合に働いた。だから私は他の人のためにこの質問に誰かがより良い答えを持っていることを願っています!

関連する問題