Diffable DataSource에 대한 간단한 설명

박성민·2021년 2월 11일
0

iOS

목록 보기
17/30
post-custom-banner

Raywenderlich의 UICollectionViewDiffableDataSource부분을 번역한 것입니다.

개요

  • iOS 13 이전에는 UICollectionView는 UICollectionViewDataSource를 채택하여 데이터 소스를 구성했습니다. 이 프로토콜은 CollectionView에 어떤 셀을 표시할 지, 표시 할 셀 수, 어디 섹션에 있는 셀인지 등을 알려줍니다.
  • 새로운 UICollectionViewDiffableDataSourceUICollectionViewDataSource의 로직의 많은 부분들을 추상화 합니다. 이렇게하면 collectionView의 데이터 소스를 처리 할 때 사용자 코드 오류가 발생할 여지가 줄어 듭니다.
  • Display할 item의 수를 데이터 소스에 알리는 대신 표시 할 section과 item을 알려줍니다.
  • UICollectionViewDiffableDataSource의 diffable은 display하는 item을 업데이트 할 때마다 collection view가 업데이트 된 collection과 이전에 표시된 collection 간의 차이를 자동으로 계산한다는 것을 의미합니다. 그러면 collection view가 업데이트, 삽입 및 삭제와 같은 변경 사항에 애니메이션합니다.

UICollectionViewDiffableDataSource 의 장점

  • 데이터 변경 시 자동으로 애니메이션 됩니다.
    데이터 추가, 업데이트, 삭제할 때마다 데이터 변경 애니메이션이 자동으로 이루어집니다.

  • 자동으로 데이터가 동기화됩니다.
    UICollectionViewDiffableDataSource 없이 컬렉션 뷰의 표준 애니메이션을 활용하려면 collection view와 데이터 소스 간의 데이터 변경 사항을 수동으로 관리하고 동기화해야합니다. 동기화 작업 중 하나가 잘못 정렬 된 경우 다음과 같은 오류가 표시됩니다.

  • 전반적으로 코드를 적게 작성하고 컬렉션 뷰의 데이터 변경 애니메이션과 데이터 동기화의 이점이 있습니다.

출처 및 참고

profile
iOS시작~
post-custom-banner

0개의 댓글