XSBaseTableViewController文件夹
1.UIView+KtExtension:方便设置View的坐标,建立了top、lift等属性。
2.XSTableViewBaseItem itme的基类,基本的数据和自定义的init方法
3.XSTableViewSectionObject 这是储存一个组的item,属性items,和组头名headTitle和组尾名footTitle
4.XSBaseTableViewCell 这是cell的基类,有item属性,重写了setItem方法。有一个类方法,传入item,返回高度。
5.XSBaseTableView 这是tableView的基类,里面写了其代理协议VC接收点击和组视图事件,有delegate和xsDataSource两个属性,delegate就是自己,delegate继承其代理协议。 它的datasource就是XSDataSorce。
在init里面初始化基本设置,实现UITableViewDelegate的方法,
同时把需要传给VC的方法让delegate调用对应方法。
6.XSTableViewDataSource 一个储存XSTableViewSectionObject的类,继承UITableViewDataSource协议,实现协议方法
里面有返回cell类型和item的方法,方便简化代码。返回cell的类型,可在子类里面重写,改变cell类型。
外部:
XSMainTableViewCell 继承XSBaseTableViewCell,可自定义视图。(不用导入到VC,直接在datasource里面处理)
XSMainTableViewDataSource 继承XSTableViewDataSource,重写返回cell类型,写自己想要的cell,还可以在里面请求数据
XSMainViewController:这就是MVC的 C,导入XSMainTableViewDataSource,继承XSBaseTableViewDelegate协议,有XSBaseTableView和XSMainTableViewDataSource的属性。 界面处理都是在tableView里面进行,只需要给tableView传入dataSource就行,(dataSource继承了tableviewDataSource协议)