#import "TableViewController.h"
@interface TableViewController ()
@end
@implementation TableViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
#pragma mark - Table view data source
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//有20行
return 20;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row % 2 == 0) {
// 1.重用标识
//被static修饰的局部变量只会初始化一次,在整个程序运行的过程中只有一份内存
static NSString *ID = @"cell";
// 2.先根据cell的标识去缓存池中查询可以循环利用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 3.如果cell为nil,意味着缓存池找不到对应的cell
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
}
//4.设置cell上显示的数据
cell.textLabel.text = [NSString stringWithFormat:@"test - %zd",indexPath.row];
return cell;
}else{
// 1.重用标识
//被static修饰的局部变量只会初始化一次,在整个程序运行的过程中只有一份内存
static NSString *ID = @"cell2";
// 2.先根据cell的标识去缓存池中查询可以循环利用的cell
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 3.如果cell为nil,意味着缓存池找不到对应的cell
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
}
//4.设置cell上显示的数据
cell.textLabel.text = [NSString stringWithFormat:@"test - %zd",indexPath.row];
return cell;
}
}
@end
最后效果: