分离 UITableView 的 Delegate 和 Datasource

曾经和一些朋友和同学聊过 UITableView 在项目中的运用,发现大部分小伙伴和我之前一样,都是按照标准的流程,在 ViewController 里准守UITableViewDataSource 和 UITableViewDelegate 协议。然后完成代理需要完成的一系列方法。

UITableView 是在项目中很常见的一个控件,因此也就意味着你要重复的写这样相同的代码。当然,有很多选择了使用自定义代码块,解决了重复写相同代码的弊端。但对于整个项目来说,重复的代码还是显得过于臃肿。这里就分享一下另一种解决方案,分离 UITableView 的 Delegate 和 Datasource。

既然要分离,那么我们需要创建继承与 NSObject 的两个类,分别准守UITableViewDataSource 和 UITableViewDelegate 协议。

TBDataSource

.h

#import <UIKit/UIKit.h>

// cell 赋值的 block 
typedef void (^TBCellConfigBlock)(UITableViewCell *targetCell, id data, NSInteger row);

@interface TBDataSource : NSObject<UITableViewDataSource>

@property (nonatomic, strong) NSArray *listData;//数据源
@property (nonatomic, strong) NSString *tableCellIdentifier;// cell 复用标识
@property (nonatomic, copy) TBCellConfigBlock tableCellConfigBlock;

@end

.m

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值