iOS-Category

功能强大的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 actual nil
(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.
使用说明
手工导入
所有的分类独立,可以按照需求进行导入
如果想要全部导入只需要将Classes
中文件拉入项目中即可
Pod导入
使用全部功能
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
iOS-Category is available under the MIT license. See the LICENSE file for more info.