數(shù)據(jù)展示層是從網(wǎng)絡(luò)獲取到數(shù)據(jù)之后儡湾,展示到手機頁面上,很大一部分的iOS工作就是展示從接口拿到的數(shù)據(jù),展示出來具滴,所以這部分還是挺實用的。
數(shù)據(jù)展示層
1 YNTableView
簡介:YNTableView的目的是為了封裝UITableView的代理方法和數(shù)據(jù)源方法师倔,簡化VC中的代碼构韵,并且高復(fù)用,可用于項目中任何一個需要使用到tableView的類中趋艘,在后續(xù)的項目中也可以簡單的變動即可復(fù)用疲恢,提升開發(fā)效率
使用說明
.h文件
- (id)initWithItems:(NSMutableArray *)items
cellIdentifier:(NSString *)identifier
dataSourceBlock:(TableViewDataSourceBlock)dataSource
delegateBlock:(TableViewDelegateBlock)delegate;
這里items是數(shù)據(jù)源數(shù)組,identifier是重用標識符瓷胧,dataSource和delegate就是替代代理方法的block显拳,block的重命名在源碼中可以看到
我們還需要一個屬性,特殊處理某些使用到編輯cell功能的tableView抖单,數(shù)據(jù)源數(shù)組也需要使用到屬性萎攒,很多時候刷新表格需要刷新數(shù)據(jù)源數(shù)組
// 編輯block, 在需要用到的界面去使用
@property (nonatomic, copy) TableViewEditingBlock editingBlock;
@property (nonatomic, strong) NSMutableArray *items;
簡單介紹
具體的實現(xiàn)在代碼中都有寫到,這里就簡單的說一下幾個block的使用
? 第一個地方在cell的注冊里面矛绘,使用block回調(diào)處理cell的邏輯部分
? 第二地方是編輯cell耍休,例如刪除cell等
? 第三個地方是點擊cell的方法
具體使用
1:初始化
// 自定義封裝tableView
_zyTableView = [[YNTableView alloc] initWithItems:self.arrProduct cellIdentifier:identifier dataSourceBlock:^(TestCell2 *cell, id model, NSIndexPath *indexPath) {
cell.text = [NSString stringWithFormat:@"%zd",indexPath.row+1];
cell.model = model;
} delegateBlock:^(NSIndexPath *indexPath) {
// 自定義點擊單元格方法
[self selectRowAtIndexPath:indexPath];
}];
2:注冊單元格
[self.myTB registerClass:[WellCell class] forCellReuseIdentifier:identifier];
3:設(shè)置cell高度需要傳入當前的tableview對象
_zyTableView.YNTableView = self.myTB;
4:設(shè)置代理和數(shù)據(jù)源
self.myTB.delegate = _zyTableView;
self.myTB.dataSource = _zyTableView;
_zyTableView.items = categoryArr;//設(shè)置數(shù)據(jù)源
5:刷新表格數(shù)據(jù)源
_zyTableView.items = categoryArr;
[self.myTB reloadData];
更多信息請參考項目源碼 GitHub代碼地址:https://github.com/PowerYang/YNRequest