Xcode 버전 8.2.1 (8C1002)을 사용하고 있습니다. 따라서 Swift 3은 기본 셀 이외의 셀을 사용하여 테이블 뷰를 만들려고합니다. 셀 detailTextLabel 또는 셀 imageView를 nil 이외가되게하십시오.detailTextLabel 및 imageView가 테이블 뷰 셀에 액세스 할 수 없음
유니버설 장치에서 프로젝트의 배포 대상을 9.0으로 설정했습니다.
인터페이스 작성기에서 1 Prototype Cell로 동적 프로토 타입으로 컨텐츠를 설정했습니다.
인터페이스 작성기에서 이미지 "animal08.png"및 식별자 "PlayerCell"을 사용하여 해당 테이블보기 셀 스타일을 "세부 정보"로 설정했습니다. 테이블 뷰에 대한 뷰 제어기
에서 무시 FUNC에있는 viewDidLoad()self.tableView.register (UITableViewCell.self, forCellReuseIdentifier "PlayerCell")
및
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "PlayerCell")!
print(cell.subviews.count)
cell.textLabel!.text = "Name: " + myNames[indexPath.row]
cell.detailTextLabel!.text = "Ranking: " + myRankings[indexPath.row].description
let avatarIndex = indexPath.row + 1
let avatarIndexName = "animal0" + avatarIndex.description
cell.imageView!.image = UIImage.init(named: avatarIndexName)
return cell;
}
! 내가 아이폰 5 아이폰 OS 5.2 (13C75) 시뮬레이터에서 프로그램을 실행할 때 나는 "cell.detailTextLabel는 .text 문에 도착하면
, 내가 얻을 :
"치명적인 오류 : 예기치 않게 선택 값을 언 래핑하는 동안 nil을 찾을 수 없습니다"
마찬가지로 imageView 속성에 액세스하려고하면 nil이 검색됩니다.
확실히 print (cell.subviews.count) 문은 셀의 하위보기가 하나만 있음을 나타냅니다. 인터페이스 빌더 또는 init (style : UITableViewCellStyle, reuseIdentifier : String?) 이니셜 라이저를 통하지 않고 UITableViewCell의 set 또는 UITableViewCellStyle 속성을 볼 수 있습니다.
나는 init 메소드를 사용하면 dequeueReusableCell의 이점을 누릴 수 있다고 생각합니다.이 상황에서는 사용하지 말아야합니다.
나는 tableview.register 메서드가 tableViewCellStyle을 기본값으로 다시 읽었다는 것을 (실증없이) 읽었습니다.
위의 코드는 Apple 개발자 사이트의 상용구 코드 및 다양한 작성자의 다양한 자습서와 동일합니다.
그래서 어떻게 detailTextLabel 및 imageView 하위 뷰에 액세스하고 대기열에 남아있는 셀을 사용할 수 있습니까?
이미지보기 및 두 개의 레이블이있는 사용자 정의 테이블보기 셀을 만들거나 uitableviewcell의 스타일을 변경하십시오. –
"세부 사항보기"테이블보기 셀에 세부 텍스트 레이블이 없습니다. 올바른 세부 항목을 설정할 수 없습니다. (위의 코드가 아니라면 이미지보기를 설정 한 경우) @Fahad는 사용자 정의를 만들 것을 제안 할 때 절대적으로 적합합니까? 테이블보기 세포. – HAS