美文网首页ios
UITableView 两个获得重用cell方法的区别

UITableView 两个获得重用cell方法的区别

作者: 渔夫 | 来源:发表于2015-09-23 14:07 被阅读354次

1,

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier;  // Used by the delegate to acquire an already allocated cell, in lieu of allocating a new one.

2,

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); // newer dequeue method guarantees a cell is returned and resized properly, assuming identifier is registered

注释中可以看出的端倪,第一个是老的接口,第二个新一点,在使用结构上:

第一个方法在

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

要这么写

cell = [tableView dequeueReusableHeaderFooterViewWithIdentifier:kTableviewIdentifier];

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewStylePlain reuseIdentifier:kTableviewIdentifier];

}

第二个方法要这么处理

在定义UITableView位置:

[self.myTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableviewIdentifier];

然后在

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

就省掉了判断为空,可以直接使用

cell = [tableView dequeueReusableCellWithIdentifier:kTableviewIdentifier forIndexPath:indexPath];

相关文章

网友评论

    本文标题:UITableView 两个获得重用cell方法的区别

    本文链接:https://www.haomeiwen.com/subject/arvbcttx.html