iOS开发YN组件之数据展示层

2016-08-16  本文已影响32人  景超叔叔

数据展示层是从网络获取到数据之后,展示到手机页面上,很大一部分的iOS工作就是展示从接口拿到的数据,展示出来,所以这部分还是挺实用的。
数据展示层
1 YNTableView
简介:YNTableView的目的是为了封装UITableView的代理方法和数据源方法,简化VC中的代码,并且高复用,可用于项目中任何一个需要使用到tableView的类中,在后续的项目中也可以简单的变动即可复用,提升开发效率
使用说明
.h文件

- (id)initWithItems:(NSMutableArray *)items
     cellIdentifier:(NSString *)identifier
    dataSourceBlock:(TableViewDataSourceBlock)dataSource
delegateBlock:(TableViewDelegateBlock)delegate;

这里items是数据源数组,identifier是重用标识符,dataSource和delegate就是替代代理方法的block,block的重命名在源码中可以看到

我们还需要一个属性,特殊处理某些使用到编辑cell功能的tableView,数据源数组也需要使用到属性,很多时候刷新表格需要刷新数据源数组

// 编辑block, 在需要用到的界面去使用
@property (nonatomic, copy) TableViewEditingBlock editingBlock;
@property (nonatomic, strong) NSMutableArray *items;

简单介绍

具体的实现在代码中都有写到,这里就简单的说一下几个block的使用

•   第一个地方在cell的注册里面,使用block回调处理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:设置cell高度需要传入当前的tableview对象

_zyTableView.YNTableView = self.myTB;

4:设置代理和数据源

self.myTB.delegate = _zyTableView;
self.myTB.dataSource = _zyTableView;
_zyTableView.items = categoryArr;//设置数据源

5:刷新表格数据源

_zyTableView.items = categoryArr;
[self.myTB reloadData];

更多信息请参考项目源码 GitHub代码地址:https://github.com/PowerYang/YNRequest

上一篇 下一篇

猜你喜欢

热点阅读