/iOS-Category

iOS 工具分类整理

Primary LanguageObjective-CMIT LicenseMIT

iOS-Category

Language License CocoaPods CocoaPods

功能强大的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.