2016-07-19 3 views
0

です。私はTableViewを使って "フィード"を持っているモバイルアプリを持っていて、それはfirebaseからの写真、説明、好きなものが入っています。私は画像アップロードAPIにImageShackを使用し、そこからimgLinksを取得する(alamofireで)。画像がアップロードされ、ImageShackパネルに画像が大きく表示されます。だから私はそれがfirebaseではなく、imageshackのせいではないことを知っていますが、ほとんどの画像はロードされません、それらはただの箱です、そして、私はimageUrl!= nilを確認することができるので、間違いなくAlamofireの要求問題。ときself.deckImg.hidden = trueの場合、私が持っているので、post.imageUrl!= nilの{またAlamofireで画像を取得する際に問題が発生しました。一部の画像が読み込まれていましたが、一部が表示されませんでした(SWIFT)

 if img != nil { 
      self.deckImg.image = img 
     } else { 

      request = Alamofire.request(.GET, post.imageUrl!).validate(contentType:  ["image/*"]).response(completionHandler: { request, response, data, err  in 
       if err == nil { 
        let img = UIImage(data: data!)! 
        self.deckImg.image = img 
        FeedController.imageCache.setObject(img, forKey: self.post.imageUrl!) 
       } else { 
        print(err.debugDescription) 
       } 
      }) 
     } 
    } else { 
     self.deckImg.hidden = true 

    } 

が、私は、それが画像を隠していないことを確認することができた場合
は、ここに私のAlamofire GETリクエストコード
です行は高さを調整し、決してそのブレークポイントに到達しないので、呼び出されないこともわかります。だから、それはAlamofireのリクエストを受けるだけのものです:それは何ですか:(それは何ですか:(

+0

まず、AlamofireImage [1]を使用することをお勧めします.AlamofireImage [1]はAlamofireの上にイメージ読み込みインフラストラクチャを提供します。 それに加えて、私たちは本当にあなたを助けるためにもっと多くの情報が必要です。あなたはデータを取り戻しますか?適切なUIImageになっていますか? [1]:https://github.com/alamofire/alamofireimage –

答えて

0

私は最後に何日間も自分自身を抱きしめていたので、問題が何であるか知っていると思うよ。 私はあなたがカスタムtableViewCell VCとデータをバインドする機能の中に、あなたは次のように何かを置くこと:

self.deckImg.image = nil 

と、キャッシュされたイメージがあるかどうかをチェックした後alamofire でそれをダウンロードしない場合は、その後、確認することをpost.imageUrl = nilを! {}、あなたはを表示する必要があります。 self.deckImg:

if post.imageURL != nil 
{ 
    self.deckImg.hidden = false 

    if img != nil 
    { 
     self.deckImg.image = img 
    } 
    else 
    { 
     request = Alamofire.request(.GET, post.imageUrl!).validate(contentType:  ["image/*"]).response(completionHandler: { request, response, data, err  in 
      if err == nil { 
       let img = UIImage(data: data!)! 
       self.deckImg.image = img 
       FeedController.imageCache.setObject(img, forKey: self.post.imageUrl!) 
      } else { 
       print(err.debugDescription) 
      } 
     }) 
    } 
} 
else 
{ 
    self.deckImg.hidden = true 
} 
関連する問題