ZMDemo框架
项目结构
为了便于扩展,ZMDemo比较简单,层次分明,适合构建新的学习项目框架,也适合中小型应用程序开发。
工程结构
pod 导入的第三方
使用方法及原理
控制器界面 无非就是请求数据,保存数据以及显示数据。
首先是请求数据:根据不同的界面请求不同的API,传不同的参数,后台就能返回不同的参数,所以你的控制器里就只需要重写父类的请求数据的方法(只是简单的显示数据而已),就能实现整个功能。
就只要写一个方法,一个方法~~
每个控制器会对应一个ZMModel对象,在控制器里传参数,Model类方法里会提供这个界面的API
然后就是保存数据:Model类方法将请求后的数据转成相应的模型,并保存在数组里,通过block将结果回调到控制器里。
保存数据
最后就是显示数据:基类里提供一个通过数组刷新页面的方法,只要将回调的结果传入这个方法,即可刷新页面。
显示数据 tableView或者是CollcetionView reloadData
cell(拿TableViewCell来举例)里的内容都是根据模型来显示的,想要在基类里实现TableView的代理方法就需要为UITableViewCell增加类别,让所有的TableViewCell都有填充数据的方法(也可用协议来实现)。
paddingData
基类实现TableView的代理方法
补充说明
1.界面元素的增删改操作:(拿TableView来举例)
创建的Cell继承自ZMTableViewCell,会有增删改的代理方法,设置代理的方法见上面红线
ZMTableViewCell及代理方法
cell里 删除按钮的点击事件
删除数据,刷新界面
附效果图一张,整个实现控制器中也不过50行代码!! 不过50行!!
删除操作
2.复杂界面的实现:图文类似微博,朋友圈实现;
实现可参考ZMDemo 中 ZMDynamicController文件, 控制器70行代码,不能再多了。
复杂界面的实现
3. 基类ZMViewController 回调block的介绍
在修改下个界面的内容后,上个界面也要求随之改动 就可以用到回调block
回调介绍
举个例子: 动态列表 -> 动态详情 -> 收藏动态 -> 返回刷新动态列表中该动态的状态。
效果图
以下是实现代码
设置回调(这里是带参回调,如果是刷新整个页面可用 refresh 来回调)
触发回调
1.文章《ios如何使用demo—ios如何拼图》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《ios如何使用demo—ios如何拼图》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好