ios如何使用demo—ios如何拼图

2023-03-01 13:53 16次浏览 攻略

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 来回调)

触发回调

相关推荐