IOS之TableViewCell重用
IOS中创建和获得可重用单元格有两种方式:纯代码以及代码与Interface Builder相结合
1.纯代码方式
纯代码不需要再Interface Builder中设置任何属性,而是通过如下代码来实现单元格的创建和获得:
static NSString *CellIdentifier = @"CellIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; }
在上述代码中,字符串CellIdentifier是可重用单元格的标识符。通过表视图的dequeueReusableCellWithIdentifier:方法查找是否有可重用单元格,如果没有,就通过- initWithStyle: reuseIdentifier:构造器创建一个。UITableViewCellStyleDefault标识默认单元格样式。
2.代码与Interface Builder相结合方式
选择View Controller Scene中的Table View Cell(表视图单元格),打开其属性检查器,Identifier属性指可重用单元格的标识符。
这样操作以后,就不需要在代码中实例化单元格了。直接通过Identifier取得单元格的实例,以此达到重用单元格的目的。代码如下:
static NSString *CellIdentifier = @"CellIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];