scrollview를 상속받고 있다.

UICollectionViewLayout - 항목정렬 셀을 원하는 형태로 정렬

UICollectionViewFlowLayout - 행을 따라 많은 셀을 채우다가 새로운 행을 만들어 배치

UIDiffableDataSource란? TabelView또는 CollectionView를 그리기 위한 데이터를 관리하고 UI를 업데이트 하는 역할을 한다. DataSource와 달리 데이터가 달라진 부분을 추적하여 자연스럽게 UI를 업데이트 한다.

iOS) Diffable Data Source 알아보기

UI Diffable Data Source란?

이전에 필수조건이었던 세가지 메서드를 대신 하여 사용할 수 있다.

iOS Tutorial: Collection View and Diffable Data Source

위 두개의 layout 객체를 통해 레이아웃배치 및 시각적인 스타일을 결정

필수 메서드

UICollectionDataSource : 컬렉션 뷰로 보여지는 콘텐츠들을 관리하는 객체로 필수 메서드를 작성필요

public protocol UICollectionViewDataSource: NSObjctProtocol {
	// 저장된 섹션에 표시할 셀의 개수를 묻는 메서드 ⭐️필수구현
	func collectionView(_ collectionView: UICollectionView. numberOfItemSection 
	section: Int) -> Int

	// 컬렉션뷰의 지정된 위치에 표시할 셀을 요청하는 메서드 해당 메서드를 구현하지 않으면 섹션 개숫 기본값은 1  ⭐️필수구현
	func collectionView(_ collectionView: UICollectionView, cellForItemAt 
	indexPath: IndexPate) -> UICollectionViewCell

	// 섹션의 개수를 묻는 메서드
	optional func numberOfSections(in collectionView: UICollectionView) -> Int
}

UICollectionDelegate : 콘텐츠의 표현, 사용자와의 상호작용과 관련된 것들을 관리하는 객체