UITableViewCell的循环利用 - 在storyboard里

来源:互联网 发布:淘宝商品详情图做法 编辑:程序博客网 时间:2024/05/19 17:08

#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
最后效果:



0 0
原创粉丝点击