unable to dequeue a cell with identifier

iOS6新增了这个方法:

dequeueReusableCellWithIdentifier:forIndexPath:

而以前是这个:

dequeueReusableCellWithIdentifier:

在此之前cell的重用写法是:

static NSString *ID = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID]; 
}

而之后多了这种写法:

static NSString *ID = @"cell";
[self.tableView registerClass:[MyCell class] forCellReuseIdentifier:ID];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID forIndexPath:indexPath];

区别在于之前的写法取出重用cell的时候可能是空的,而后来的写法如果取出空的那就自动创建一个新的 ,registerClass方法就是告诉tableView创建个什么样的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容