新建一个继承自UITableViewCell
的子类,比如TgCell
@interface TgCell : UITableViewCell
@end
新建一个xib文件(文件名最好跟类名一致,比如TgCell.xib)
-
修改cell的class为TgCell
-
绑定循环利用标识
-
添加子控件,设置子控件约束
- 将子控件连线到类扩展中
@interface TgCell()
@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UILabel *priceLabel;
@property (weak, nonatomic) IBOutlet UILabel *buyCountLabel;
@end
## 在TgCell.h文件中提供一个模型属性,比如Tg模型
```objc
@class Tg;
@interface TgCell : UITableViewCell
/** 团购模型数据 */
@property (nonatomic, strong) Tg *tg;
@end
在TgCell.m中重写模型属性的set方法
- 在set方法中给子控件设置模型数据
- (void)setTg:(Tg *)tg
{
_tg = tg;
self.iconImageView.image = [UIImage imageNamed:tg.icon];
self.titleLabel.text = tg.title;
self.priceLabel.text = [NSString stringWithFormat:@"¥%@",tg.price];
self.buyCountLabel.text = [NSString stringWithFormat:@"%@人已购买",tg.buyCount];
// .......
}
- 注册xib文件
```objc
[self.tableView registerNib:[UINib nibWithNibName:NSStringFromClass([TgCell class]) bundle:nil] forCellReuseIdentifier:ID];
- 给cell传递模型数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// 访问缓存池
TgCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
// 设置数据(传递模型数据)
cell.tg = self.tgs[indexPath.row];
return cell;
}