[Swift] 메모 앱 만들기 심화 (8) : TableView 살펴보기

Oni·2023년 9월 4일
0

TIL

목록 보기
38/47
post-thumbnail

원문 포스팅 🔗

beginUpdates(), endUpdates()

  • UITableView를 업데이트할 때 사용되는 메서드
  • 테이블 뷰의 데이터 소스를 변경할 때 테이블 뷰의 셀들을 새로고침하고 애니메이션 효과를 부여하는데 사용됨
  • 이들 메서드를 사용하는 주된 이유는 테이블 뷰의 업데이트를 보다 효율적으로 처리하기 위함

사용 장점

  • 애니메이션 및 레이아웃 최적화: 테이블 뷰의 셀들이 추가되거나 삭제될 때, 애니메이션 효과와 함께 레이아웃이 변경되는 경우가 있는데 beginUpdates()와 endUpdates()를 사용하면 셀들의 추가 및 삭제에 대한 애니메이션 효과가 부드럽게 적용할 수 있으며, 테이블 뷰의 레이아웃 최적화가 이루어진다.
  • 데이터 일관성 유지: beginUpdates()와 endUpdates()를 사용하면 테이블 뷰의 데이터 소스를 변경하는 과정에서 테이블 뷰와 데이터 소스 간의 일관성이 유지되며, 이를 통해 예상치 못한 동작이나 오류를 방지할 수 있다.
  • 동시 업데이트 처리: 여러 셀을 동시에 추가하거나 삭제하는 경우에도 beginUpdates()와 endUpdates()를 사용하면 테이블 뷰가 한 번에 하나씩 셀을 업데이트하지 않고, 모든 변경 사항을 한 번에 처리할 수 있어 성능이 향상된다.
  • 배치 업데이트 지원: 테이블 뷰의 insertRows, deleteRows, insertSections, deleteSections 등의 메서드를 사용하여 여러 셀이나 섹션을 한 번에 추가하거나 삭제할 수 있다. 이러한 배치 업데이트 작업을 beginUpdates()와 endUpdates() 내에서 수행하면 애니메이션 효과와 함께 셀들이 한 번에 업데이트되며, 사용자에게 보다 나은 사용자 경험을 제공할 수 있다.

화면 비교

딱히 별 차이는 없어보인다....;;
눈으로 확인하는 차이는 없을지라도 데이터와 관련된 차이가 있다고하니 쓰는걸로^_^

profile
하지만 나는 끝까지 살아남을 거야!

0개의 댓글