iOS-Category
功能强大的iOS开发分类
主要包括以下内容:
Foundation
- NSArchiver:使用 key 实现快速归档和解档
- NSArray:数组的 Block 操作,JSON 解析,Plist 解析,安全访问
- NSBundle:快速获取与应用相关的信息
- NSData:数据缓存,编码和显示,Hash 加密,加密和解密
- NSDate:日期快速访问,日期相关计算,日期格式化
- NSDictionary:字典 Block 操作,JSON 解析,Plist 解析,安全访问,URL 处理,字典合并
- NSFileManager:与文件相关操作的方法封装
- NSLog:增强的日志功能
- NSNotificationCenter:自动移除监听,线程操作
- NSNumber:数字显示格式化,罗马数字转换,小数处理
- NSObject:AOP 处理,Block,GCD 封装,简单模型转换,快速增加关联,快速序列化,快速 copy,反射以及 Runtime 方法封装
- NSString:获取 APP 信息,判断是否存在,Emoji 判断,Hash 处理,JSON 编码,MIME,路径快速获取,PinYin 处理,快速生成二维码,检查是否符合,字符串大小,URLCode 格式化
- NSTimer:Block 方法封装
- NSURL:URL 查询转换
UIKit
- UIApplication:获取 APP 相关信息,权限判断,键盘 Frame
- UITabBarController:UITabBar 隐藏
- UIBarButtonItem:Block 封装操作
- UIButton:设置背景,Block 封装操作,点击相应范围处理,倒计时快速实现,Indicator 快速添加
- UIColor:增添更多颜色,颜色操作
- UIControl:Block 封装,设置延时响应
- UIDevice:CPU信息获取、存储信息获取、网络信息获取、设备信息获取
- UIFont:加载字体方法封装、字体快速创建、字体特征获取
- UIGestureRecognizer:手势Block封装
- UIImage:截屏、颜色构造方法、压缩、添加效果、修正、Gif、导出、合并、修改、旋转
- UILabel:获取内容Size、设置间距
- UINavigationController:Stack管理、添加Transitions
- UIScreen:获取屏幕信息
- UIScrollView:下拉放大效果、快速获取PageNumber、滚动实现
- UITableView:设置Cell样式、修改数据源
- UIView:快速添加动画、Block封装、灵活添加border、快速获取约束信息、快速寻找、Frame便捷操作、圆角设置、截屏、Toast
- UIViewController:快速Alert、PopView、TopWarningView
- UINavigationBar:快速设置简单外观
EXTObj
libextobjc当前包含以下功能
- **安全分类**,使用EXTSafeCategory,在不覆盖任何已有内容的情况下向类添加方法(为你识别冲突)。
- **具体协议**,使用EXTConcreteProtocol,提供协议中方法的具体实现。
- **更简单更安全的key paths**,使用EXTKeyPathCoding,在编译时自动检查key paths。
- **编译时选择器检查**,确保对象声明了指定的选择器,使用EXTSelectorChecking。
- **在blocks中更容易使用弱引用变量**,使用EXTScope模块中的`@weakify`、`@unsafeify`和`@strongify`。
- **基于作用域的资源清理**,使用EXTScope模块中的`@onExit`,在作用域结束时自动清理手动分配的内存、文件句柄、锁等。
- **代数数据类型**,由EXTADT完全在编译时生成。
- **分类的合成属性**,使用EXTSynthesize。
- **基于块的协程**,使用EXTCoroutine。
- **EXTNil,类似于NSNull,但行为更接近实际的nil**(即,发送未识别的消息时不会崩溃)。
- **大量的扩展**和在`
`之上的附加功能,包括极可定制的方法注入、对对象属性的反思以及各种用于扩展类层次结构检查和方法查找的函数。
Manager
- SIKeyboardShortcutManager:虚拟机快捷键管理
- SIAuthorizationManager:认证管理
- SITouchIDManager:TouchID管理
- SIBluetoothManager:蓝牙信息管理
- SIMediatorManager:中间层管理
- SIKeyboardManager:键盘管理
- SIIAppPurchaseManager:内购管理
- SIAppVersionManager:版本管理
- SIDownloadManager:下载管理
宏
- SIWarningMacro : 忽略
⚠️ - SIViewMacro: ViewMacro
- SIUtilsMacro: UtilsMacro
- SIShortcutsMacro: ShortcutsMacro
- SISharedInstanceMacro: SharedInstanceMacro
- SIMathMacro: SIMathMacro
- SILogMacro: LogMacro
- SIFRCMacro: FRCMacro
- SIDeviceMacro: DeviceMacro
- SICoreGraphicsMacro: CoreGraphicsMacro
- SIARCMacro: ARCMacro
- SIRuntimeMacro: RuntimeMacro
- SIColorMacro: ColorMacro
- SICollectionMacro: CollectionMacro
- SIGCDMacro: GCDMacro
- SINotificationMacro: NotificationMacro
- SIExceptionMacro: ExceptionMacro
- SIAutoLayoutMacro: AutoLayoutMacro
使用说明
手动导入
所有类都可以独立导入,根据需要操作。如果需要全部导入,只需将“类”中的文件拖入项目中。
Pod导入
使用全部功能
pod 'SICategory', '~> 1.0'
只使用与UIKit相关的分类
pod 'SICategory/SIUIKit', '~> 1.0'
只使用与Foundation相关的分类
pod 'SICategory/SIFoundation', '~> 1.0'
只使用EXTObjc
pod 'SICategory/EXTObj', '~> 1.0'
只使用Manager
pod 'SICategory/Manager', '~> 1.0'
只使用SIMacros
pod 'SICategory/SIMacros', '~> 1.0'
使用
导入头文件
使用全部
#import "SICategory.h"
使用Foundation部分
#import "SIFoundation.h"
使用UIKit部分
#import "SIUIKit.h"
使用EXTObjc部分
#import "EXTObjc.h"
使用SIManager部分
#import "SIManager.h"
使用SIMacros部分
#import "SIMacros.h"
苹果iOS分类
苹果iOS分类遵循MIT许可证。有关更多信息,请参阅LICENSE文件。