동작방식
테이블 뷰가 자신에게 데이터를 공급할 책임이 있는 데이터 소스 오브젝트를 찾는다.
테이블 뷰는 있는데 데이터 소스가 없다면 테이블 뷰에는 아무것도 뿌려줄 수 없다.
데이터 소스를 찾았다면, 제일 먼저 몇 개의 섹션을 준비해야 할지를 물어본다.
- (NSInteger)numberOfSectionInTableView:(UITableView *) TableView
섹션의 개수가 정해졌다면 각 섹션별로 준비해야 할 로우(row)의 개수를 물어본다.
- (NSInteger)numberOfSectionInTableView:(UITableView *) TableView
섹션과 각 섹션 별 로우의 갯수가 완전히 정해졌다면 테이블 뷰의 크기가 결정된 것.
각 섹션의 로우별로 어떤 테이블 셀을 채워야 할지.
이때 데이터 소스 오브젝트는 아래 메소드를 통해 각 섹션 별 로우에 그러야 할 테이블 셀을 만들어서 리턴해 준다.
- (UITableViewCell *) tableView:(UITableView *)TableView cellForRowAtIndexPath:(NSIndexPath *) indexPath
테이블 뷰 각 로우를 지정하는 데 사용되는 오브젝트는 NSIndexPath 클래스의 인스턴스.
NSIndexPath는 테이블 뷰의 위치를 지정하는데 사용하기 위해 확장, 섹션과 로우 값을 가짐.
NSIndexPath의 인스턴스인 indexPath가 있으면,
indexPath.section을 통해 인덱스패스 오브젝트가 가리키는 섹션을,
indexPath.row를 통해 인덱스패스 오브젝트가 가리키는 row를 알 수 있다.
즉 하나의 인덱스패스 오브젝트는 테이블 뷰에서 하나의 테이블 셀의 위치를 가리키고 있는 것이다.
--
재사용 Queue, Reuse Queue.
'General > iOS' 카테고리의 다른 글
[iPhone] parsing, tableview (0) | 2010.12.26 |
---|---|
[iPhone] 메모리 관리 (0) | 2010.12.21 |
[iPhone] TableView CustomCell delegate, datasource connection (View based application) (1) | 2010.12.21 |
[iPhone] TableView Custom Cell 만들기 (0) | 2010.12.20 |
[iPhone] Table View (0) | 2010.12.19 |