关于tableview的干货

1.tableview的常用代理的调用顺序

1.当开始创建tableview的时候会调用tableview的数据源方法这个方法是为了看看你有多少个cell需要创建以便于tableview设置他的contenview

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

2.知道了有多少cell需要创建如果要计算tableview的contenview就要知道每一个cell的高度,那么自定义cell的高度就要在这个方法进行计算

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

3.计算出了tableview的centenview之后就要对每一个cell进行赋值。

注意:由于cell是循环利用的那么cell里面的 每一个会变化的 子控件的值 都需要重新赋值。

提供两个赋值的方法:一般情况下对cell里面的控件进行赋值都是由model来做的对新手来说怎么传入model是比较难理解的一个问题  方法1:在cell的.h文件里面提供一个方法

@interface lastTableviewCell : BaseTableViewCell

-(void)gavemestring:(ShopModel *)model;

@end



#import "lastTableviewCell.h"

@implementation lastTableviewCell

-(void)gavemestring:(ShopModel *)model

{

//在这个方法里面进行赋值

}

方法2:重写属性的set方法

@interface lastTableviewCell : BaseTableViewCell

@property(nonatomic,strong)ShopModel *model;

@end



#import "lastTableviewCell.h"

@implementation lastTableviewCell

-(void)setModel:(ShopModel *)model

{

//在这个方法里面进行赋值

}

方法1的调用[cell gavememodel:model] 方法2的调用cell.model=model

方法1和方法2原理上是一样的可能方法一更容易理解一些

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,088评论 3 38
  • 废话不多说,直接上干货 ---------------------------------------------...
    小小赵纸农阅读 3,432评论 0 15
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,538评论 1 14
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,209评论 30 471
  • 前言 最近忙完项目比较闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助。博主非科班出身,一些...
    GitHubPorter阅读 1,452评论 9 5