UITableView實用詳解

1、UITableView 1.數據展現的條件 1> UITableView的全部數據都是由數據源(dataSource)提供的,因此要想在UITableView展現數據,必須設置UITableView的dataSource數據源對象 2> 要想當UITableView的dataSource對象,必須遵照UITableViewDataSource協議,實現相應的數據源方法 3> 當UITableView想要展現數據的時候,就會給數據源發送消息(調用數據源方法),UITableView會根據方法返回值決定展現怎樣的數據緩存

2.數據展現的過程 1> 先調用數據源的性能優化

  • (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 得知一共有多少組

2> 而後調用數據源的性能

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 得知第section組一共有多少行

3> 而後調用數據源的優化

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 得知第indexPath.section組 第indexPath.row 行顯示怎樣的cell(顯示什麼內容)

3.常見數據源方法 1> 一共有多少組orm

  • (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

2> 第section組一共有多少行對象

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

3> 第indexPath.section組 第indexPath.row行顯示怎樣的cell(顯示什麼內容)animation

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

4> 第section組顯示怎樣 的頭部標題string

  • (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;

5> 第section組顯示怎樣的尾部標題it

  • (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;

4.tableView刷新數據的方式 1> 修改模型數據io

2> 刷新表格

  • reloadData 總體刷新(每一行都會刷新)
    • (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 局部刷新

5.性能優化 1> 定義一個循環利用標識 static NSString *ID = @"C1";

2> 從緩存池中取出可循環利用的cell UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

3> 若是緩存池中沒有可循環利用的cell if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID]; }

4> 覆蓋cell上面的數據 cell.textLabel.text = [NSString stringWithFormat:@"第%d行數據", indexPath.row];

相關文章
相關標籤/搜索