본문 바로가기

개발/App Developer

UITableViewCell 객체의 생성과 초기화에 대한 방법(뷰 재활용 개념)

static NSString = kCellIDentifier = @"OilViewCell";

 

//여기 kCellIdentifier 서 'k' 란 상수는 단지 이름을 붙이는 관례임 (애플에서)

 

테이블 뷰는 화면 내용을 그리기 위해서 테이블 각 행에 해당하는 테이블 뷰 셀(TableViewCell)

객체를 요청한다.

 

UITableViewCell* cell = [tableView dequeuereusableCellWithIdentifier:kCellIdentifier];

 

이 때 UITableViewCell 또는 이 클래스를 상속받는 객체를 리턴해줘야 하는 데 그 전에

고려할 부분이 하나 있다.

 

테이블 뷰는 화면에 표시할 모든 행에 대해서 UITableViewCell 객체를 요구하는데,

매번 UITableViewCell 을 생성해서 초기화 하고 다시 리턴하는 과정을 거친다면 매우 비효율적일 것이다.

 

뷰를 재활용하기 위해서는 initWithFrame:reuseIdentifier: 메서드로 초기화 한다.

그러면 생성된 UITableViewCell 객체는 이름표를 달고 재활용 큐에 추가된다.

 

cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:kCellIdentifier] autorelease];

 

나중에 dequeueReUsableCellWithIdentifier 메서드를 호출해서 해당 이름표를 가진 셀이

재활용 큐에 있는 지를 확인하고 만약 있다면 가져와서 재활용 된다.