2015-11-26 10 views
7

gelen tamamlama bloğunda görüntü alınamıyor tümAlamofireImage: af_setImageWithURL

Ben Swift öğreniyorum ve ben AlamofireImage kullanarak bir UIImageView bir resim ayarlamak çalışıyorum. Aşağıdaki

self.listImageView.af_setImageWithURL(
     NSURL(string: list!.image!)!, 
     placeholderImage: nil, 
     filter: nil, 
     imageTransition: .CrossDissolve(0.5), 
     completion:{ image in 
      print(image) 
     } 
) 

ve konsolda sonucu olduğunu: Aşağıdaki kodu kullanıyorum

SUCCESS: <UIImage: 0x7fb0c3ec3d30>, {512, 286} 

Benim amacım bir kez indirildikten görüntü ile bir şey yapmak olduğunu, ancak sorun ben olmasıdır Tamamlama geri çağrısı için imza anlamıyorum ve tamamlama bloğundaki görüntüye nasıl erişeceğimi bilmiyorum. Belgelere göre, Result<UIImage, NSError>.

Sanırım gerçekten basit bir şey ama bunu fark etmiyorum.

sayesinde

cevap

21

tamamlama bloğu içine geçirilir image değişken aslında Alamofire.Response türü değil, getirildiği yatan UIImage örneği kendisidir.

Sen yanıttan gerçek görüntüyü almak için aşağıdaki gibi tamamlama bloğu güncellemeniz gerekir:

self.listImageView.af_setImageWithURL(
    URL(string: list!.image!)!, 
    placeholderImage: nil, 
    filter: nil, 
    imageTransition: .CrossDissolve(0.5), 
    completion: { response in 
     print(response.result.value) # UIImage 
     print(response.result.error) # NSError 
    } 
) 

Önce görüntü emin olmak için response.result.isSuccess (veya kardeşi response.result.isFailure) kontrol etmek isteyebilirsiniz başarıyla alındı ​​veya alınmadı.

+0

Teşekkürler, tam olarak neye ihtiyacım vardı, ama cevabın bunu anlamak için çok kolay olmadığını söylemeliyim :) – estemendoza