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 메서드를 호출해서 해당 이름표를 가진 셀이
재활용 큐에 있는 지를 확인하고 만약 있다면 가져와서 재활용 된다.
'개발 > App Developer' 카테고리의 다른 글
프로퍼티의 retain 속성 (0) | 2010.08.29 |
---|---|
Lazy loading 기법 (0) | 2010.08.29 |
UITableViewCell 의 악세사리 종류 (0) | 2010.08.29 |
컴파일 경고 및 에러 메시지-예문 (0) | 2010.08.29 |
UITableViewCellDelegate 프로토콜의 중요 메소드 (0) | 2010.08.29 |