CollectionViewCell 선택에 관한 회고

이건준·2023년 11월 21일
0
  • CollectionViewCell의 선택여부에 따른 로직을 처리할때 크게 2가지로 나뉜다
  1. 기본적으로 제공해주는 isSelected값을 override하여 정의해주는 경우

  2. 커스텀 프로퍼티를 통해 CollectionViewCell의 로직을 정의해주는 경우

1번일 경우

  • isSelected프로퍼티를 이용하는 경우 유의해야할점은 2가지가 있다
  1. 해당 셀의 선택과 미선택에 따른 델리게이트 호출은
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)

위 2가지 함수를 통해 호출되어진다

  1. Apple개발문서를 확인해보면 isSelected값을 인위적으로 변경하는것을 추천하지않는다, 즉 위 델리게이트 함수를 이용해서 로직을 구성해야한다

2번일 경우

  1. 커스텀 프로퍼티를 이용하는 경우는 해당 셀을 선택하였을 때에 델리게이트 함수 중 deselect함수가 호출되지않는다, 반드시 didSelectItemAt함수를 통해 선택되어진 셀의 프로퍼티를 확인하여 구성해주어야한다

0개의 댓글