23.11.02 뷰(View)와 레이어(Layer)의 개념 / prepareForReuse의 개념
뷰(View):
- 사용자 인터페이스 (UI)의 구성 요소 중 하나이다.
- 버튼, 텍스트필드, 이미지, 레이블 및 사용자 지정요소 등 모든 UI 요소가 뷰이다.
- 사용자에게 정보를 표시하거나 사용자 입력을 받는 역할이다.
- UIView 클래스를 기반으로 하며 , 개발자가 서브클래싱하여 원하는 모양과 동작을 정의할 수 있다.
레이어(Layer):
- 뷰의 기본 렌더링 구성 요소이다. ( 뷰에서 쓸 수 있는 요소라는 뜻 )
- UIView는 레이어에 뷰의 내용을 그리는 방법을 정의하는데 사용된다. ( 종이가 레이어고 , 그 위에 뷰를 그리는 느낌 )
- 레이어는 2D 그래픽 객체로써 , 텍스트 , 이미지 , 그림 및 기타 콘텐츠를 표시한다.
- CALayer( 코어 애니메이션 레이어 ) 클래스를 기반으로 하고 , UIView에 대응되는 CALayer를 가지고 있다.
즉 정리하면 , 뷰는 UI를 구성할때 쓰는 오브젝트들이고 , 레이어는 그 뷰 하나하나를 관여해줄 수 있는 요소들이다
뷰 ( 오브젝트 ) 레이어 ( 요소 )
prepareForReuse는 iOS의 UITableViewCell 및 UICollectionViewCell 클래스에서 사용되는 메서드로,
재사용 가능한 셀을 초기화하고 다시 사용하기 전에 호출됩니다. 이 메서드는 주로 다음 작업을 수행하는 데 사용된다.
1. 셀의 초기화 : 셀이 재사용되기전에, 셀의 상태를 초기화하여 새로운 데이터로 셀을 구성할 수 있도록 준비함
이것은 이전에 표시되던 셀 내의 내용 및 구성요소들을 제거하거나 초기 상태로 되돌리는 작업을 포함한다
2. 선택 상태 초기화 : 셀의 선택 상태를 초기화하며, 선택되지 않은 상태로 설정한다
사용자가 이전에 선택한 셀이 재사용되는 경우, 이 메서드를 사용하여 선택 해제된 상태로 초기화 함
3. 데이터 모델 재설정 : 셀에 연결된 데이터 모델을 재설정한다
이것은 다음에 셀이 표시될 때 올바른 데이터로 구성하기 위한 것 이다.
4. 애니메이션 중지 : 셀이 애니메이션 중인 경우 해당 애니메이션을 중지하고 초기상태로 되돌릴 수 있도록 한다.