꾸준한 기록

[UICollectionView] part3. cell 재활용 메커니즘 본문

iOS

[UICollectionView] part3. cell 재활용 메커니즘

Doo혀니 2024. 9. 8. 17:47

UICollectionView와 UITableView에서 내부 cell을 재활용하는 내부 메커니즘

  • UICollectionView와 UITableView는 내부에 큐를 두고 재사용될 cell을 관리한다.
  • 셀을 가져오는 메서드:
    • UICollectionView: dequeueReusableCell(withReuseIdentifier:for:)
    • UITableView: dequeueReusableCell(withIdentifier:for:)
  • 셀이 처음 생성될 때 호출되는 메서드 순서
    • dequeueReusableCell(withIdentifier:for:)호출함. 
    • init()
    • tableView(_:cellForRowAt:) / collectionView(_:cellForItemAt:)
    • willDisplay()
    • didEndDisplay() 
    • cell이 큐에 다시 들어감.
    • dequeueReusableCell(withIdentifier:for:)호출함.
    • prepareForReuse
  • 셀 재활용 시 호출되는 메서드 순서 (UICollectionView) 
    • dequeueReusableCell(withIdentifier:for:)호출하여 큐에서 cell을 가져온다. 
    • prepareForReuse() 메서드가 재활용된 셀에 대해 호출되어 이전 데이터를 초기화합니다.
    • tableView(_:cellForRowAt:) / collectionView(_:cellForItemAt:)이 호출되어 셀에 데이터를 설정한다..
    • willDisplay(_:forItemAt:)이 호출되어 화면에 표시됩니다.
    • didEndDisplay()