YJ系列开源库
- 支持 iOS 9.0 和 Swift 5 开发。
- 按需加载,可根据自己的需求加载不同的开源库。
整体架构和苹果类似,每一层都有各自的开源库。
日历工具,快速获取天、时、分等。
快速获取应用内目录
Foundation 相关扩展
快速高效的转换模型和 Model。
Cache 缓存工具,在 NSCache 的基础上增加了 NSDictionary 的相关功能。
编译时注入代码,运行时提取函数或 Block 执行,一站式解决 APP 启动卡顿问题。
- NSLog打印优化,Unicode自动转化为中文输出。
- YJLog 日志输出,支持自定义日志级别输出内容。
保护 APP 稳定运行,不 crash。
Scheduler 调度器,一站式解决代码耦合问题。
单例控制中心,可定制全局单例和局域单例。
替换NSTimer实现相关计时器功能。
多种生命周期:
- 随着应用的回收而回收。
- 随着当前使用类的回收而回收。如VC回收时,YJSTimer也会回收。
- URLEncode编码和URLDecode解码;
- http链接解析,快速获取其中参数,支持URLDecode解码;
- http链接组装,快速组装相关参数,支持URLEncode编码。
大型APP网络架构,具有以下特性:
- 兼容市面上任何一款网络SDK,并可以多个SDK协同工作;
- 多种设计模式,按照项目需要随意组装架构;
- 多种请求方式,可以面向接口请求服务器或面向对象请求服务器;
- 支持网络重连。
UICollectionView封装
- 支持市面上百分之百的架构,无须修改原有框架结构。你可以把它作为插件,也可以把它作为UICollectionView的控制中心使用。
- 减压UIViewController,使其代码尽可能的精简,可阅读性更高。UIViewController不在关心UICollectionViewCell的相关显示,缓存。UIViewController与UICollectionViewCell完全隔离。
- 自带存储数据源,支持单数组和多数组显示的数据源。
- 自动将数据从UIViewController传输到UICollectionViewCell,支持任意数据类型的传输。
- 支持多种创建UICollectionViewCell的方式,如纯代码、xib和storyboard。无须改变你写代码的习惯。
- 自动register注册UICollectionViewCell,自动显示UICollectionViewCell,自动缓存UICollectionViewCell。
- 自动计算cell显示的高度或手动计算cell显示的高度,并缓存高度。
UIKit 相关扩展
NavigationBar 主要用于配置导航按钮。
PageView 主要实现对 UIPageViewController 的封装,支持轮播图、导航图、小说翻页等多种翻页模式。
- 多种配置模式适应任何多页面需求。
- 任何间隔切换VC,内存释放稳定。
ScrollView 主用用于监听 UIScrollView 的滚动状态。
UITableView管理器
- 支持市面上百分之百的架构,无须修改原有框架结构。你可以把它作为插件,也可以把它作为TableView的控制中心使用。
- 减压UIViewController,使其代码尽可能的精简,可阅读性更高。UIViewController不在关心UITableViewCell的相关显示,缓存。UIViewController与UITableViewCell完全隔离。
- 自带存储数据源,支持UITableViewStylePlain和UITableViewStyleGrouped显示的数据源。
- 自动将数据从UIViewController传输到UITableViewCell,支持任意数据类型的传输。
- 自动register注册UITableViewCell,自动显示UITableViewCell,自动缓存UITableViewCell。
- 自动计算cell显示的高度或手动计算cell显示的高度,并缓存高度。
URLRouter 主要通过路由跳转实现项目组件化
- 自动注入,无需考虑加载时机。
- 支持拦截处理未注入的url。
UIViewController 和 UINavigationController 转场动画自定义。
内存泄漏分析器,用于捕获项目中有内存泄漏的UIViewController、UIView和Property属性。
主要用于获取运行过程中的RAM相关信息,如剩余内存。
时间轴记录器,记录操作的耗时时间,主要用于启动优化。
时间分析器,主要用于分析引起主线程卡顿的代码。
- 支持定制模块分析。
- 支持设置分析频率和帧间隔。
- 控制台打印 VC 加载时间。
GCD 相关封装
pthread 锁相关封装
面向对象管理 Keychain,支持自定义存储数据。
快速生成指定位数的随机密码。
姓名:阳君
QQ:937447974
YJ技术支持群:557445088
如果你觉得这个框架很赞,请点击右上角的 Star 按钮;如果你对我的框架感兴趣,并想持续获得本人最新的框架源文件,欢迎点击右上角的 Fork 按钮。