registerClass

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:Joshua Shen
链接:https://www.zhihu.com/question/28287313/answer/40225457
来源:知乎

registerClass我记得是iOS6新加的
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的时候可能是空的
而后来的写法如果取出空的那就自动创建一个新的 register就是告诉它创建个什么样的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章