본문 바로가기
💡 Today I Learned/오류 잡아라!

[오류] UITableViewCell에 UICollectionView 추가 오류

by 솔비님 2024. 8. 27.

 

테이블뷰 셀에다가 컬렉션뷰를 넣어야 하는데, 슈퍼뷰에 정상적으로 추가되지 않는다는 오류가 발생했다

 

 

코드를 보면 제일 처름에 컬렉션뷰가 계산 프로퍼티로 선언되어 있는데,

슈퍼뷰에 추가된 부분은 하단에 존재해서 앱의 생명주기와 맞지 않아서 오류가 생긴 거였음

( = collectionView에 접근할 때마다 새로운 인스턴스가 생성)

 

 

lazy var로 초기화 시점을 늦춰주면 해결됨

 

 

정리 ---

기존 방식(계산된 프로퍼티)
• collectionView에 접근할 때마다 새로운 인스턴스가 생성되었기 때문에, addSubview()로 추가한 collectionView와 제약 조건을 설정하려는 collectionView가 서로 다른 인스턴스일 수 있음

수정된 방식(lazy var)
• collectionView가 처음 접근될 때 한 번만 초기화되며, 이후에는 동일한 인스턴스를 사용하게 되므로, 이 문제가 발생하지 않음