[Swift] prepareForReuse 란?

Oni·2023년 10월 31일
0

기술면접

목록 보기
10/13
post-thumbnail

1. prepareForReuse

prepareForReuse() 메서드는 iOS의 UITableViewCell 및 UICollectionViewCell 클래스에서 주로 사용되는 메서드이다.

이 메서드는 재사용 큐로부터 셀이 가져와지기 전에 호출된다. 재사용 큐에서 셀이 가져와질 때마다, 시스템은 해당 셀의 prepareForReuse() 메서드를 호출하여 셀을 초기 상태로 되돌리는 역할을 한다.

2. 셀의 재사용

테이블 뷰 또는 컬렉션 뷰에서 셀을 스크롤하면, 화면 밖으로 나가는 셀은 재사용 큐로 들어가고, 새로운 데이터를 표시할 셀이 재사용 큐에서 나온다. prepareForReuse()를 사용하면 재사용되는 셀이 이전에 표시한 데이터나 상태에서 초기화될 수 있다.

3. 메모리 관리

이 메서드를 활용하면 메모리 누수(memory leak)를 방지하고, 셀이 반복해서 재사용될 때마다 이전에 할당된 리소스를 정리할 수 있다.

예를 들어, 사용자 정의 UITableViewCell 클래스에서 prepareForReuse()를 구현하면 다음과 같다.

class CustomTableViewCell: UITableViewCell {
    
    @IBOutlet weak var label: UILabel!
    
    override func prepareForReuse() {
        super.prepareForReuse()
        
        // 셀이 재사용될 때마다 라벨의 텍스트를 초기화
        label.text = nil
        
        // 기타 리소스 해제 또는 초기화 작업 수행
    }
}

이렇게 구현된 prepareForReuse() 메서드는 셀이 재사용될 때마다 라벨의 텍스트를 초기화한다. 이와 같이 메서드를 사용하면 셀의 내용을 깨끗하게 초기화하여 다시 사용할 수 있게 된다.

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

0개의 댓글