2016-08-27 2 views
0

저는 AlamofireImage를 사용하여 서버에서 가져온 이미지를 표시해야하는 프로젝트를 진행하고 있습니다. 그래서 내 코드는 다음과 같습니다 :AlamofireImage를 사용하여 서버에서 이미지를 가져온 후 이미지 뷰가 업데이트되지 않습니다.

import UIKit 
import Alamofire 
import AlamofireImage 

@IBOutlet var imageView: UIImageView 

func downloadImage() { 
    Alamofire.request(.GET, "http://www.axs.gt/wp-content/uploads/2016/05/tuzonapromo_600x.png").responseImage { (response) -> Void in 
     if let image = response.result.value { 
       imageView.image = image 
     } 
} 

이미지가 다운로드되는 것처럼 보이지만 imageView가 서버에서 가져온 새 이미지를 업데이트하지 않는 것 같습니다. 모든 증권 시사점이 해결되었으므로 HTTP 및 HTTPS에서 다운로드 할 수 있음을 추가해야합니다.

나는이

imageView.image = UIImage(named: "someImage") 

을하려고 노력 그리고 이미지 뷰는 아직 업데이트하지 않습니다.

난 정말 어떤 도움을 주셔서 감사합니다.

+0

dispatch_async 블록 내부에 넣으려고 했습니까? –

+0

업데이트해야 할 뷰의 모든 내용이 주 스레드에 있어야하지만 여전히 작동하지 않는다는 것을 알기 때문에 이미 읽었습니다. –

+0

이러한 완료 블록은 주 스레드에 있습니다. 'response '가'.Success' 또는'.Failure'인지 확인해야합니다. 요청이 성공했는지 아십니까? 그러나'imageView.image = UIImage (named : ...)'가 작동하지 않는다면 이미지 뷰에 더 깊은 문제가 있음을 알 수 있습니다 (예를 들어 프레임을보고 가시적인지 확인해야합니까?) 테이블 뷰 셀, 그렇습니까?). 제쳐두고,'imageView.af_setImageWithURL (URL)'뿐만 아니라 어떤 이유가 있습니까? 테이블 또는 컬렉션보기 셀에서이 작업을 수행하는 경우 자리 표시 자 이미지 사용도 고려하십시오. – Rob

답변

0

그래서 내 코드의 흐름을 확인하고 내 view에서 모든 것을 초기화해야하는 super.viewDidLoad() 메서드를 호출하는 viewDidLoad 메서드보다 먼저 imageViews의 이미지를 업데이트하려고한다는 것을 알게되었습니다. 내 imageView의 기본 이미지). 그래서 실제로 일어나고있는 것은 컴파일러가 기본 이미지를 설정하기 전에 이미지 방식을 가져 오는 것입니다.

도움 주셔서 감사합니다.

관련 문제