2017-04-18 3 views
1

저는 프로그래밍 방식으로 UIImageView에서 그림을 변경하는 방법을 알기 쉽고 빠르게 이해할 수 있습니다.은 UIImage에서 선택 사항을 언 래핑하는 동안 발견했습니다.

if let image = UIImage(named: "mouse.jpg") { 
    imageView.image = image 
    print("image set") 
} 

를하지만 옵션 치명적인 예외를 풀기 동안은 발견 전무 원인 : 내가 지금까지 시도했다.

mouse.jpg는 빠른 파일과 같은 폴더에 있으며 Xcode의 관리자에서 이미지보기 이미지로 설정할 수 있습니다.

if let iv = imageView{ 
    if let image = UIImage(named: "mouse.jpg"){ 
     iv.image = image 
    } 
} 

적용된 수정 전무 오류를하지만, 전혀 스토리 보드에서 설정 한 것과 사진을 변경하지 않습니다

이 같은 경우 다른의 코드를 포장. if 안쪽이 코드는 조건이 여기에 제대로 초기화 UIImage을 필요로 오히려 당신의 이미지 뷰를 참조보다는 이미지 자체에 문제가있을 수 있습니다 것 같습니다 실행하면

어떤 아이디어가

+6

이 코드는'imageView'가'nil' 인 경우에만 충돌 할 수 있습니다. IB에서 연결을 확인하십시오. – vadian

+0

질문을 아주 다른 것으로 업데이트했기 때문에 다시 열었습니다. 'iv.image = image' 행이 호출되고 있는지 확인 했습니까? 콘센트가 연결되어 있지 않은 것 같습니다. – rmaddy

+0

예, 죄송합니다. 처음에는 질문을 잘하지 못했습니다. 이 코드가 호출 될 때이 줄 아래에 인쇄물이 있습니다. 그렇습니다. 호출됩니다. – Blake

답변

4

도움이 될 것입니다. 내 생각에 암시 적으로 래핑되지 않은 옵션 (var imageView: UIImageView!)을 사용하여 imageView에 대한 참조를 저장하고있는 것 같습니다.

@IBOutlet을 사용하는 경우 제대로 연결되어 있는지 확인 했습니까? image 속성을 설정하기 전에 실제 인스턴스가 UIImageView입니까?

+0

. 명확성을 위해 xcode의 오른쪽 상단에있는 "두 원 (Show Circle Editor)"을 클릭하여 스토리 보드와 관련 뷰 컨트롤러를 모두 엽니 다. 스토리 보드에있는 imageView에서 Ctrl으로 드래그하여 뷰 컨트롤러로 드래그하고 imageView에 적합한 콘센트를 만듭니다. 자, 코드에서이 코드를 참조 할 때이 코드는 아무 것도 없어야합니다. – Meshach

관련 문제