2017-01-01 2 views
1

저는 Swift 및 iOS를 처음 사용하고 있으며 URL 문자열 배열을 가져 와서 내가 가지고있는 UITableViewCell 내에서 ImageView를 채우고 싶은 상황이 있습니다. MyTableViewCell이라고하는 적절한 클래스를 만들었습니다.Swift 3에서 SDWebImage를 사용하여 UITableViewCell에서 ImageView를 올바르게 설정하는 방법

이 충돌 그리고 나는 오류를 얻고있다 : 내가 볼 수

"fatal error: unexpectedly found nil while unwrapping an Optional value" 

가있는 viewDidLoad() 라인 imageTableView.datasource = self 실행에 일어나고있다.

나는 그렇게으로보기에서 데이터 및 대리자를 설정하고있다 :

다음
override func viewDidLoad() { 
    super.viewDidLoad() 
    imagesTableView.dataSource = self 
    imagesTableView.delegate = self 
} 

imageUrls은 문자열의 배열입니다.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    let cell: MyTableViewCell = tableView.dequeueReusableCell(withIdentifier: "myTableViewCell", for: indexPath) as! MyTableViewCell 

    cell.imageView.sd_setImage(with: URL(string: imageUrls[indexPath.row])) 

    return cell 
} 

내가 그래서 클래스처럼 셀에 출구를 가지고 :

@IBOutlet var imagesTableView: UITableView! 

내 질문은, 3 신속하고 SDWebImage, 왜이 작업을 수행 할 수있는 적절한 방법이 무엇/어디입니다 imagesTableView에서 nil 값이 발생합니까?

이미지 URL에 일부 문자열 URL 값을 하드 코딩하여 해당 문제가 아닌지 확인할 수도 있습니다 (하드 코딩 된 값과 동일한 오류가 발생 함).

+0

보기 컨트롤러를 어떻게 작성하고 있습니까? 스토리 보드에서 스토리 보드를 만들지 않으면 아울렛이 설정되지 않습니다. 변수와 속성도 규칙에 따라 소문자로 시작해야합니다. – Paulw11

+0

@ Paulw11 명명 규칙 팁 덕택에 위의 내용 중 일부를 수정했습니다. 스토리 보드에서 뷰 컨트롤러를 생성합니다. 테이블 뷰 코드를 제거하면 나머지보기가 오류없이 잘로드됩니다. – jeanmw

+0

콘센트에 연결 했습니까? – Paulw11

답변

1

내가 콘센트를 연결했지만, 어떻게 든 참조를 잃어 버렸습니다. 전체 테이블 뷰와 하위 뷰를 삭제하고 다시 만들고 연결했기 때문에 오류가 사라졌습니다. 이전에 콘센트에서 드래그 앤 드롭 할 때 펑키 한 일이 생겼을 것입니다.