Raywenderlich의 UICollectionViewDiffableDataSource부분을 번역한 것입니다.
UICollectionViewDataSource
를 채택하여 데이터 소스를 구성했습니다. 이 프로토콜은 CollectionView에 어떤 셀을 표시할 지, 표시 할 셀 수, 어디 섹션에 있는 셀인지 등을 알려줍니다.UICollectionViewDiffableDataSource
은 UICollectionViewDataSource
의 로직의 많은 부분들을 추상화 합니다. 이렇게하면 collectionView의 데이터 소스를 처리 할 때 사용자 코드 오류가 발생할 여지가 줄어 듭니다.UICollectionViewDiffableDataSource
의 diffable은 display하는 item을 업데이트 할 때마다 collection view가 업데이트 된 collection과 이전에 표시된 collection 간의 차이를 자동으로 계산한다는 것을 의미합니다. 그러면 collection view가 업데이트, 삽입 및 삭제와 같은 변경 사항에 애니메이션합니다.데이터 변경 시 자동으로 애니메이션 됩니다.
데이터 추가, 업데이트, 삭제할 때마다 데이터 변경 애니메이션이 자동으로 이루어집니다.
자동으로 데이터가 동기화됩니다.
UICollectionViewDiffableDataSource 없이 컬렉션 뷰의 표준 애니메이션을 활용하려면 collection view와 데이터 소스 간의 데이터 변경 사항을 수동으로 관리하고 동기화해야합니다. 동기화 작업 중 하나가 잘못 정렬 된 경우 다음과 같은 오류가 표시됩니다.
전반적으로 코드를 적게 작성하고 컬렉션 뷰의 데이터 변경 애니메이션과 데이터 동기화의 이점이 있습니다.