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就是告訴它創建個什麼樣的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章