- tableView如何顯示數(shù)據(jù)
- 設(shè)置dataSource數(shù)據(jù)源
- 數(shù)據(jù)源要遵守UITableViewDataSource協(xié)議
- 數(shù)據(jù)源要實現(xiàn)協(xié)議中的某些方法
/**
* 告訴tableView一共有多少組數(shù)據(jù)
*/
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
/**
* 告訴tableView第section組有多少行
*/
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
/**
* 告訴tableView第indexPath行顯示怎樣的cell
*/
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
/**
* 告訴tableView第section組的頭部標(biāo)題
*/
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
/**
* 告訴tableView第section組的尾部標(biāo)題
*/
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
cell加載的時候性能優(yōu)化
/**
* 什么時候調(diào)用:每當(dāng)有一個cell進(jìn)入視野范圍內(nèi)就會調(diào)用
*/
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// 0.重用標(biāo)識
// 被static修飾的局部變量:只會初始化一次然评,在整個程序運行過程中,只有一份內(nèi)存
static NSString *ID = @"cell";
// 1.先根據(jù)cell的標(biāo)識去緩存池中查找可循環(huán)利用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 2.如果cell為nil(緩存池找不到對應(yīng)的cell)
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
}
// 3.覆蓋數(shù)據(jù)
cell.textLabel.text = [NSString stringWithFormat:@"testdata - %zd", indexPath.row];
return cell;
}
tableView性能優(yōu)化 - cell的循環(huán)利用方式2
// 定義重用標(biāo)識
NSString *ID = @"cell";
- 注冊某個標(biāo)識對應(yīng)的cell類型
// 在這個方法中注冊cell
- (void)viewDidLoad {
[super viewDidLoad];
// 注冊某個標(biāo)識對應(yīng)的cell類型
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者