cell的工厂模式

  ***cell有表视图和集合视图的cell两种,工厂模式的实现方式大致相同。

1.首先介绍表视图的cell工厂

1):首先创建继承自UITableViewCell的cell基础类BaseTableViewCell,在工程中使用自定义的cell都继承自这个类(如果需要一个控制器控制两个以上!不同的!的cell的话,那么第二个cell就需要用代码写了)。

2):在基础cell类中声明一个设置数据的方法 ,并空实现

- (void)setDataWithModel:(BaseModel *)model;

3):创建cell工厂类FactoryTableViewCell,并定义一个根据模型创建cell的方法

+ (BaseTableViewCell *)createTableViewCellWithModel:(BaseModel *)model tableView:(UITableView *)tableView indexPath:(NSIndexPath *)indexPath 

{

  //1.获取cell的名字

  NSString *name = NSStringFromClass([model class]);

   //2.创建cell

  BaseTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:name forIndexPath:indexPath];

 

}

4):工厂的使用

  ①:注册cell

    [self.myTableView registerNib:[UINib nibWithNibName:@"ReadDetailCell" bundle:nil] forCellReuseIdentifier:NSStringFromClass([ReadDetailListModel class])];

  ②:在重用cell的方法中调用工厂中的方法

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    //1.获取模型

    BaseModel *model = self.alllistArray[indexPath.row];

    BaseTableViewCell *cell = [FactoryTableViewCell createTableViewCellWithModel:model tableView:tableView indexPath:indexPath];

    [cell setDataWithModel:model];

  return cell;

}

 

 

 

 

 

 

转载于:https://www.cnblogs.com/arenouba/p/5353429.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值