작성
·
461
답변 1
0
안녕하세요, 스위프트의 클래스는 다중상속이 불가합니다.
prepareForReuse 메서드를 활용하기 위해서는 UITableViewCell 클래스를 상속받은 새로운 셀 클래스를 생성해준 후 그 내부에 prepareForReuse 메서드를 override 하여 사용할 수 있습니다.
그 후, 새로 만든 셀 클래스를 테이블뷰의 셀 클래스로 지정하여 사용합니다.
아래 영상을 다 보실 필요 없고 말씀드린 부분만 보면 헷갈리지 않고 해보실 수 있을거예요.
https://youtu.be/R2Ng8Vj2yhY?t=412
- reuse identifier 설정 (6:38 ~ 6:42)
- cell 클래스 생성하기(6:52 ~ 7:14)
- 여기서 만든 클래스에 prepareForReuse 오버라이드 해서 사용합니다
- cell 클래스 지정하기 (7:49 ~ 8:03)
- cell 불러와 사용하기 (11:11 ~ 11:39)
야곰님 친절한 설명 감사합니다! 방법은 잘 이해했습니다.
prepareForReuse에 content와 관련 없는 속성들을 초기화하는 코드는 어떻게 작성해야 할까요?
아래처럼 작성하면 원하는 대로 동작하긴 하는데 textColor가 UIColor!로 정의되어 있던데 어떻게 nil값이 들어가도 에러 없이 동작하는지 궁금하고,
셀에 속성이 많아질 경우 이렇게 셀에 들어가는 각각의 이미지뷰, 텍스트뷰 등등의 뷰에 대해 하나하나 nil값을 넣어서 초기화해주어야 하는 것인지, 이럴 필요 없이 한 번에 초기화할 수 있는 메소드가 있는지 궁금합니다!
override func prepareForReuse() {
super.prepareForReuse()
self.textLabel?.textColor = nil
}