ZZFLEX-基于UIKit的iOS敏捷开发框架
一、项目简介
ZZFLEX是一个完善的iOS敏捷开发框架。它基于UIKit构建,整合了多种功能,包括常用控件的链式API拓展、一个数据驱动的列表框架、一个事件处理队列等。通过这些功能,它旨在大大减小UI开发和维护的难度与工作量。
二、核心技术
1.
Foundation相关拓展
-对NSMutableAttributedString和NSMutableParagraphStyle进行链式API拓展。例如,可以便捷地创建和编辑NSMutableParagraphStyle和NSMutableAttributedString的样式和内容,像设置文本的对齐、行间距、富文本的颜色、字体等。
2.
UIKit普通控件拓展
-视图控件链式API拓展:UIView+ZZFLEX为多个UIKit常用控件增加链式API。比如添加UIButton时,能连贯地设置字体、颜色、圆角、阴影、事件、约束等属性,既缩减代码行数又提高可读性。并且可无视继承关系、随意顺序设置控件属性。
-分割线、圆角链式API拓展:可以方便地为视图添加分割线,设置分割线的类型、颜色、位置等,也能设置视图的圆角,包括圆角的位置、半径、颜色和边框宽度等。
3.
命令式的列表控制器·ZZFLEXAngel
-初始化:将tableView/collectionView的dataSource和delegate指向angel,angel弱引用hostView。
-页面容器层:无需关心hostView的代理方法,通过添加模块构建列表页,如添加section、cell、header、footer等,还能设置它们的属性和事件。
-元素层:添加到ZZFLEXAngel中的cell、header、footer要实现ZZFlexibleLayoutViewProtocol协议,用于跟Angel交互,方便框架统一处理交互和性能优化。
-继承:若ZZFLEXAngel的API不够用或容器层逻辑复杂,可继承它实现自己的Angel。
4.
ZZFLEXTableViewController和ZZFLEXCollectionViewController
-分别基于UITableView和ZZFLEXAngel、UICollectionView和ZZFLEXAngel的VC级实现,可直接继承用于快速构建列表页。
5.
ZZFLEXRequestQueue
-核心思想是将一次数据请求的过程封装成对象,在多异步数据请求场景下,保证按队列顺序加载展示UI。
6.
ZZFLEXEditExtension(不再建议使用)
-使ZZFLEXCollectionViewController和ZZFLEXAngel具备处理编辑页面的能力,规范编辑类页面处理流程并使用额外模型控制。
三、项目总结
ZZFLEX框架为iOS开发提供了丰富的功能和便捷的开发方式。从基础控件的拓展到列表框架的构建,再到数据请求的处理等方面都有涉及。希望大家对这个框架有更多的探索和交流,如果有任何想法或建议,欢迎在下方留言讨论。
项目地址
数据统计
数据评估
本站链氪巴士提供的ZZFLEX-基于UIKit的iOS敏捷开发框架都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。