细思极恐的UITableView细节一

返回每行的单元格

你选择的自定义的cell拼接id,以此cell名称去创建静态变量。放在下方的
static NSString * const CourseDetailCommentTableViewCellID = @"CourseDetailCommentTableViewCell";

  • (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    由于此方法调用十分频繁,cell的标示声明成静态变量有利于性能优化
    static NSString *cellIdentifier=@"UITableViewCellIdentifierKey1";
    //首先根据标识去缓存池取
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    //如果缓存池没有到则重新创建并放到缓存池中
    if(!cell){
    cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier];
    }
    return cell;
    }
    如何高效的快速创建tableviewcell,且细节完美。
    细思极恐的UITableView细节一_第1张图片
    11EDB0CB-102D-46ED-8823-065C73645926.png

HealthSubscribeThreeImageTableViewCell.m

 static NSString * const HealthSubscribeThreeImageTableViewCellID = @"HealthSubscribeThreeImageTableViewCell";
+ (instancetype)cellWithTableView:(UITableView *)tableView {
    
    HealthSubscribeThreeImageTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:HealthSubscribeThreeImageTableViewCellID];
    if (cell == nil) {
        cell = [[[UINib nibWithNibName:NSStringFromClass(self) bundle:nil] instantiateWithOwner:nil options:nil] objectAtIndex:0];
        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    }
    return cell;
    
}

在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这样写。

HealthSubscribeThreeImageTableViewCell *cell = [HealthSubscribeThreeImageTableViewCell cellWithTableView:tableView]; return cell;
且Xib创建用NIb加载会比bundle性能高。
http://www.jianshu.com/p/2f9e71ef7f52

XIb一定不要忘记重用符


细思极恐的UITableView细节一_第2张图片
719DA4D2-1443-4CDE-A9DC-D4BFF6094B73.png

如何设置tableviewCell两者间的间隙:

  • (void)setFrame:(CGRect)frame{
    frame.origin.y+=10;
    frame.size.height-=10;
    [super setFrame:frame];
    }


    细思极恐的UITableView细节一_第3张图片
    西药_PxCook.png

你可能感兴趣的:(细思极恐的UITableView细节一)