쉽게 풀자면 뷰를 전체적으로 그려주며
TableView에서 사용되는 cell들에 사용되는
데이터들을 관리한다.
이것은 protocal로 채택을 해야한다.
아래 코드는 탭바로 연결된 뷰들 중 하나의
viewController에서 구현해본 datasource 메소드이다.
extension SearchViewController: UICollectionViewDataSource{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 24
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ResultCell", for: indexPath) as? ResultCell else {
return UICollectionViewCell()
}
let imageName = "animal\(indexPath.item + 1)"
cell.configure(imageName)
return cell
}
}
numberOfItemsInSection 에서는
Assets에 저장된 이미지 수를 반환해주었고
다음 메소드에서는 "Result Cell"의 id를 가진
재사용 셀을 가져왔다.
위의 기능을 사용하기위한 메소드는 viewControlCell에
정의해놓았다. (이전글에 있음)
참고문서 및 자세한 내용 https://developer.apple.com/documentation/uikit/uitableview/1614955-datasource
https://icksw.tistory.com/15
https://zzoo789.tistory.com/entry/iOS-UICollectionView%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-Data-source-Delegate