🍎 Apple/Swift
dequeueReusableCell과 dequeueConfiguredReusableCell, 뭐가 다를까?
PushedGun
2023. 10. 26. 22:09
1. dequeueReusableCell
collectionView.dequeueReusableCell(withReuseIdentifier: **<#T##String#>**, for: **<#T##IndexPath#>**)
우리가 아는 것처럼 cell을 재사용하는데 사용한다.
참고)
[iOS] CollectionView Xib 파일 생성하여 Custom Cell로 구현하기
1. Collection view 생성 2. Custom Cell에 대한 class 생성 3. Xib 파일 생성 4. File's Owner, Custom Class 란에 방금 생성한 custom cell의 class 입력 5. 재사용 식별자 등록(여기선 "cell" 로 등록, 원하는 아무 문자로 설
pushedgun.tistory.com
cell에 값을 넣어주기만 하는 기능에서는 문제가 되지 않는다.
그러나, 재사용하는 cell은 class(레퍼런스 타입)이고 하나의 객체로 관리하기에 디자인 등 다른 요소를 바꾸어줄 경우 바뀐 디자인이 의도치 않은 cell에도 영향을 끼칠 수 있다.
이를 해결하기 위해 생긴 것이
2. dequeueConfiguredReusableCell
collectionView.dequeueConfiguredReusableCell(using: **<#T##UICollectionView.CellRegistration<Cell, Item>#>**, for: **<#T##IndexPath#>**, item: **<#T##Item?#>**)
인자로 받는 CellRegistration은 값 타입을 가지기에, 한번 변경된 내용이 다른 곳에 영향을 주지 못하도록 해준다.