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原理上是一样的可能方法一更容易理解一些