功能强大的iOS开发分类
主要包括一下内容:
- NSArchiver:利用key实现快速归档和解档
- NSArray:数组的Block操作,JSON解析,Plist解析,安全访问
- NSBundle:快速获取与App相关的信息
- 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处理,快速生成二维码,检查是否符合,字符串Size,URLCode格式化
- NSTimer:Block方法封装
- NSURL:URL查询转化
- UIApplication:App相关信息获取,权限判断,键盘Frame
- UITabBarController:UITabBar隐藏
- UIBarButtonItem:Block封装操作
- UIButton:设置背景,Block封装操作,点击相应范围处理,倒计时快速实现, Indicator快速添加
- UIColor:增添更多颜色,颜色操作
- UIControl:Block封装,设置延时相应
- UIDevice:CPU信息获取,存储信息获取,网络信息获取,设备信息获取
- UIFont:加载字体方法封装,字体快速创建,字体特征获取
- UIGestureRecognizer:手势Block封装
- UIImage:截屏,用颜色构造方法,压缩,加效果,Fix,Gif,导出,合并,修改,旋转
- UILabel:获取内容Size,设置间距
- UINavigationController:Stack管理, Transitions添加
- UIScreen:屏幕信息获取
- UIScrollView:下拉放大效果,PageNumber快速获取,滚动实现
- UITableView:设置Cell样式,修改数据源
- UIView:快速添加动画,Block封装,灵活的添加border,快速获取约束信息,快速寻找,Frame便捷操作,圆角设置,截屏, Toast
- UIViewController:快速Alert,PopView, TopWarningView
- UINavigationBar:快速设置简单的外观
libextobjc currently includes the following features:
- Safe categories, using EXTSafeCategory, for adding methods to a class without overwriting anything already there (identifying conflicts for you).
- Concrete protocols, using EXTConcreteProtocol, for providing default implementations of the methods in a protocol.
- Simpler and safer key paths, using EXTKeyPathCoding, which automatically checks key paths at compile-time.
- Compile-time checking of selectors to ensure that an object declares a given selector, using EXTSelectorChecking.
- Easier use of weak variables in blocks, using
@weakify
,@unsafeify
, and@strongify
from the EXTScope module. - Scope-based resource cleanup, using
@onExit
in the EXTScope module, for automatically cleaning up manually-allocated memory, file handles, locks, etc., at the end of a scope. - Algebraic data types generated completely at compile-time, defined using EXTADT.
- Synthesized properties for categories, using EXTSynthesize.
- Block-based coroutines, using EXTCoroutine.
- EXTNil, which is like
NSNull
, but behaves much more closely to actualnil
(i.e., doesn't crash when sent unrecognized messages). - Lots of extensions and additional functionality built on top of
<objc/runtime.h>
, including extremely customizable method injection, reflection upon object properties, and various functions to extend class hierarchy checks and method lookups.
- 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
所有的分类独立,可以按照需求进行导入
如果想要全部导入只需要将Classes
中文件拉入项目中即可
使用全部功能
pod 'SICategory', '~> 1.0'
只使用UIKit
相关分类
pod 'SICategory/SIUIKit', '~> 1.0'
只使用Foundation
相关分类
pod 'SICategory/SIFoundation', '~> 1.0'
只使用EXTObj
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-Category is available under the MIT license. See the LICENSE file for more info.