{"id":21292290,"url":"https://github.com/937447974/yjcocoa","last_synced_at":"2025-07-11T16:31:29.094Z","repository":{"id":56929258,"uuid":"58531145","full_name":"937447974/YJCocoa","owner":"937447974","description":"YJ 系列 Pod 开源库","archived":false,"fork":false,"pushed_at":"2023-02-07T06:17:18.000Z","size":6742,"stargazers_count":119,"open_issues_count":0,"forks_count":33,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-31T16:24:10.712Z","etag":null,"topics":["ios9","swift5"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/937447974.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-11T09:21:30.000Z","updated_at":"2024-07-26T09:42:10.000Z","dependencies_parsed_at":"2023-02-19T15:31:19.813Z","dependency_job_id":null,"html_url":"https://github.com/937447974/YJCocoa","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/937447974%2FYJCocoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/937447974%2FYJCocoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/937447974%2FYJCocoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/937447974%2FYJCocoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/937447974","download_url":"https://codeload.github.com/937447974/YJCocoa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225741244,"owners_count":17516895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios9","swift5"],"created_at":"2024-11-21T13:48:55.626Z","updated_at":"2024-11-21T13:48:56.158Z","avatar_url":"https://github.com/937447974.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://raw.githubusercontent.com/937447974/Blog/master/Resources/2016110201.png)\n\n[![Language: Swift](https://img.shields.io/badge/language-Objective%20C-orange.svg?style=flat)](https://developer.apple.com/reference/objectivec) [![Platform](https://img.shields.io/cocoapods/p/YJCocoa.svg?style=flat)](http://cocoadocs.org/docsets/YJCocoa) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/937447974/YJCocoa/blob/master/LICENSE) [![CocoaPods](https://img.shields.io/cocoapods/v/YJCocoa.svg?style=flat)](http://cocoapods.org) ![Apps](https://img.shields.io/cocoapods/at/YJCocoa.svg?style=flat) ![QQ群](https://img.shields.io/badge/QQ群-557445088-blue.svg?style=flat)\n\nYJ系列开源库\n\n1. 支持 iOS 9.0 和 Swift 5 开发。\n2. 按需加载，可根据自己的需求加载不同的开源库。\n\n整体架构和苹果类似,每一层都有各自的开源库。\n\n# 1 ![](https://raw.githubusercontent.com/937447974/Blog/master/Resources/2016101001.png)AppFrameworks\n\n## 1.1 Foundation\n\n### 1.1.1 Calendar\n\n日历工具，快速获取天、时、分等。\n\n### 1.1.2 Directory\n\n快速获取应用内目录\n\n### 1.1.3 Extension\n\nFoundation 相关扩展\n\n### 1.1.4 JSONModel\n\n快速高效的转换模型和 Model。\n\n### 1.1.2 Cache\n\nCache 缓存工具，在 NSCache 的基础上增加了 NSDictionary 的相关功能。\n\n### 1.1.4  CodeInject\n\n编译时注入代码，运行时提取函数或 Block 执行，一站式解决 APP 启动卡顿问题。\n\n### 1.1.5 Log\n\n1. NSLog打印优化，Unicode自动转化为中文输出。\n2. YJLog 日志输出，支持自定义日志级别输出内容。\n\n### 1.1.6 Safety\n\n保护 APP 稳定运行，不 crash。\n\n### 1.1.7 Scheduler\n\nScheduler 调度器，一站式解决代码耦合问题。\n\n### 1.1.8 SingletonCenter\n\n单例控制中心，可定制全局单例和局域单例。\n\n### 1.1.9 Timer\n\n替换NSTimer实现相关计时器功能。\n\n多种生命周期：\n\n1. 随着应用的回收而回收。\n2. 随着当前使用类的回收而回收。如VC回收时，YJSTimer也会回收。\n\n### 1.1.10 URL\n\n1. URLEncode编码和URLDecode解码；\n2. http链接解析，快速获取其中参数，支持URLDecode解码;\n3. http链接组装，快速组装相关参数，支持URLEncode编码。\n\n### 1.1.11 URLSession\n\n大型APP网络架构，具有以下特性：\n\n1. 兼容市面上任何一款网络SDK,并可以多个SDK协同工作；\n2. 多种设计模式，按照项目需要随意组装架构；\n3. 多种请求方式，可以面向接口请求服务器或面向对象请求服务器；\n4. 支持网络重连。\n\n## 1.2 UIKit\n\n### 1.2.1 CollectionViewManager\n\nUICollectionView封装\n\n1. 支持市面上百分之百的架构，无须修改原有框架结构。你可以把它作为插件，也可以把它作为UICollectionView的控制中心使用。\n2. 减压UIViewController，使其代码尽可能的精简，可阅读性更高。UIViewController不在关心UICollectionViewCell的相关显示，缓存。UIViewController与UICollectionViewCell完全隔离。\n3. 自带存储数据源，支持单数组和多数组显示的数据源。\n4. 自动将数据从UIViewController传输到UICollectionViewCell，支持任意数据类型的传输。\n5. 支持多种创建UICollectionViewCell的方式，如纯代码、xib和storyboard。无须改变你写代码的习惯。\n6. 自动register注册UICollectionViewCell，自动显示UICollectionViewCell，自动缓存UICollectionViewCell。\n7. 自动计算cell显示的高度或手动计算cell显示的高度，并缓存高度。\n\n### 1.2.2 Extension\n\nUIKit 相关扩展\n\n### 1.2.3 NavigationBar\n\nNavigationBar 主要用于配置导航按钮。\n\n### 1.2.4 PageView\n\nPageView 主要实现对 UIPageViewController 的封装，支持轮播图、导航图、小说翻页等多种翻页模式。\n\n1. 多种配置模式适应任何多页面需求。\n2. 任何间隔切换VC，内存释放稳定。\n\n### 1.2.5 ScrollView\n\nScrollView 主用用于监听 UIScrollView 的滚动状态。\n\n### 1.2.6 TableView\n\nUITableView管理器\n\n1. 支持市面上百分之百的架构，无须修改原有框架结构。你可以把它作为插件，也可以把它作为TableView的控制中心使用。\n2. 减压UIViewController，使其代码尽可能的精简，可阅读性更高。UIViewController不在关心UITableViewCell的相关显示，缓存。UIViewController与UITableViewCell完全隔离。\n3. 自带存储数据源，支持UITableViewStylePlain和UITableViewStyleGrouped显示的数据源。\n4. 自动将数据从UIViewController传输到UITableViewCell，支持任意数据类型的传输。\n5. 自动register注册UITableViewCell，自动显示UITableViewCell，自动缓存UITableViewCell。\n6. 自动计算cell显示的高度或手动计算cell显示的高度，并缓存高度。\n\n### 1.2.7 URLRouter\n\nURLRouter 主要通过路由跳转实现项目组件化\n\n1. 自动注入，无需考虑加载时机。\n2. 支持拦截处理未注入的url。\n\n### 1.2.8 ViewControllerTransitioning\n\nUIViewController 和 UINavigationController 转场动画自定义。\n\n# 2 ![](https://raw.githubusercontent.com/937447974/Blog/master/Resources/2016101006.png)DeveloperTools\n\n## 2.1 Leaks\n\n内存泄漏分析器，用于捕获项目中有内存泄漏的UIViewController、UIView和Property属性。\n\n## 2.2 MemoryInfo\n\n主要用于获取运行过程中的RAM相关信息，如剩余内存。\n\n## 2.3 Timeline\n\n时间轴记录器，记录操作的耗时时间，主要用于启动优化。\n\n## 2.4 TimeProfiler\n\n时间分析器，主要用于分析引起主线程卡顿的代码。\n\n1. 支持定制模块分析。\n2. 支持设置分析频率和帧间隔。\n3. 控制台打印 VC 加载时间。\n\n# 3 ![](https://raw.githubusercontent.com/937447974/Blog/master/Resources/2016101005.png)System\n\n## 4.1 Dispatch\n\nGCD 相关封装\n\n## 4.2 Pthread\n\npthread 锁相关封装\n\n## 4.2 Security\n\n### 4.2.1 Keychain\n\n面向对象管理 Keychain，支持自定义存储数据。\n\n### 4.2.2 Random\n\n快速生成指定位数的随机密码。\n\n----------\n\n# \u003ca id=\"Appendix\"\u003eAppendix\n\n## Author\n\n姓名：阳君\n\nQQ：937447974\n\nYJ技术支持群：557445088\n\n如果你觉得这个框架很赞，请点击右上角的 Star 按钮；如果你对我的框架感兴趣，并想持续获得本人最新的框架源文件，欢迎点击右上角的 Fork 按钮。\n\n## Copyright 2016-Now\n\nCSDN：http://blog.csdn.net/y550918116j\n\nGitHub：https://github.com/937447974\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F937447974%2Fyjcocoa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F937447974%2Fyjcocoa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F937447974%2Fyjcocoa/lists"}