뷰의 재사용
iOS 기기는 한정된 메모리를 가지고 애플리케이션을 구동한다.
사용자에게 보여주고 싶은 데이터가 매우 많고, 그만큼 많은 뷰가 필요하다면?
화면에 표시할 수 있는 뷰의 개수는 한정적이지만 표현해야 하는 데이터가 매우 많은 경우, 반복된 뷰를 생성하기보다는 뷰를 재사용한다.
사용할 수 있는 메모리가 작아서 데이터의 양만큼 많은 뷰를 생성하는 것은 메모리를 많이 낭비하기 때문이다.
뷰를 재사용하면 메모리를 절약하고, 성능 또한 향상시킬 수 있다.
대표적인 예
-
UITableViewCell
-
UICollectionViewCell
재사용 원리
-
테이블뷰 및 컬렉션뷰에서 셀을 표시하기 위해 데이터 소스에 뷰(셀) 인스턴스를 요청한다.
-
데이터 소스는 요청마다 새로운 셀을 만드는 대신, 재사용 큐(Reuse Queue) 에 재사용을 위해 대기하고 있는 셀이 있는 지 확인 후, 있으면 그 셀에 새로운 데이터를 설정하고 없으면 새로운 셀을 생성한다.
-
테이블뷰 및 컬렉션뷰는 데이터 소스가 셀을 반환하면 화면에 표시한다.
-
사용자가 스크롤을 하면 일부 셀들이 화면 밖으로 나가면서 다시 재사용 큐에 들어간다.
-
1-4 반복.
'iOS' 카테고리의 다른 글
[iOS] 디자인 패턴 | Singleton (0) | 2020.06.12 |
---|---|
[iOS] UIActivityIndicatorView (0) | 2020.06.11 |
[iOS] 테이블 뷰 (TableView) - DataSource, Delegate (0) | 2020.06.10 |
[iOS] 디자인 패턴 | MVC (0) | 2020.06.10 |
[iOS] Foundation (0) | 2020.06.10 |