为 iOS 项目提供的通用库。注意,0.2.x 版本与 0.1.x 版本的 compared to 方法名称有所变化!
为 iOS 项目提供的通用方法库。注意,0.2.x 版本相比 0.1.x 版本带来了方法名称的变化!
联系人
include
pod 'RKCommonLibrary'
#include "RKCommonLibrary.h"
RKDefines.h
- UUIDString - 返回设备 UDID 的字符串形式
- rootVC - 返回根 View Controller
- userDefaults - 返回 userDefaults
- classToString(myClass) - 返回类名字符串
- NotificationAdd(sel,nameNotif) - 订阅事件通知
- NotificationPost(name) - 发送事件通知
- currentLocale - 返回当前区域
- rk_mainBundle - [NSBundle mainBundle]
- isRussian - 返回布尔值,指示是否为俄语区域
- screenSize - 返回包含屏幕尺寸的结构
- SCREEN_HEIGHT_LANSCAPE - 返回横屏模式下的屏幕高度(用于支持 iOS7 和 iOS8)
- SCREEN_WIDTH_LANDSCAPE - 返回横屏模式下的屏幕宽度(用于支持 iOS7 和 iOS8)
- isIpad - 返回布尔值,指示当前模型是否为 iPad
- isIphone4 - 返回布尔值,指示当前模型是否为 iPhone 4
- isIphone5 - 返回布尔值,指示当前模型是否为 iPhone 5
- isIphone6 - 返回布尔值,指示当前模型是否为 iPhone 6
- isIphone6Plus - 返回布尔值,指示当前模型是否为 iPhone 6+
- SYSTEM_VERSION_EQUAL_TO(v) - 返回布尔值,指示当前操作系统版本是否等于 v
- SYSTEM_VERSION_GREATER_THAN(v) - 返回布尔值,指示当前操作系统版本是否大于 v
- SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) - 返回布尔值,指示当前操作系统版本是否大于或等于 v
- SYSTEM_VERSION_LESS_THAN(v) - 返回布尔值,指示当前操作系统版本是否小于 v
- SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) - 返回布尔值,指示当前操作系统版本是否小于或等于 v
- randFromTo(min, max) - 返回指定范围内的随机数
- assetByScreenHeight(regular, longScreen) - 相对于屏幕高度进行偏移量,检查 iPhone 4 版本
- RGB(r, g, b) - 根据 RGB 获取颜色
- RGBA(r, g, b, a) - 根据 RGB 获取颜色,带有指定的透明度(alpha)
- ClearColor - 获取透明颜色
- DOLog - 如果是调试模式,则按格式输出到日志,否则不输出
- DODiscLog - 如果是调试模式,则输出 @"%@", 否则不输出
RKBaseClass 类
基础类,其中重载了方法 description,用于输出类的属性信息。
使用 runtime.h 实现了 JSON 解析。
实现了 [object copy] 拷贝功能。
- + (instancetype)initWithJson: - 使用 JSON 数据创建对象。属性名应与 JSON 中的键匹配
- + (NSArray*)initArrayWithJsonArray: - 使用 JSON 数据创建包含多个对象数组的对象。属性名应与 JSON 中的键匹配
- - (instancetype)initWithJson: - 使用 JSON 数据创建对象。属性名应与 JSON 中的键匹配
- - (NSString*)rk_classStringForField: - 返回创建对象时应使用的数据在 JSON 中的对应类名
- - (NSDictionary*)rk_keysForField - 返回用于映射的 {fieldName:jsonKey} 字典
- + (instancetype)initWithData: - 使用通过 serializeToData 方法或 NSKeyedArchiver 类创建的 NSData 数据创建对象
- - (instancetype)initWithData: - 使用通过 serializeToData 方法或 NSKeyedArchiver 类创建的 NSData 数据创建对象
- - (NSData*)rk_serializeToData - 将对象序列化为 NSData 以便保存
RKCL 类
- + (void)rk_safeWithBlock:catchBlock:finalyBlock: - 用于安全执行代码的方法
- + (void)rk_safeWithBlock:catchBlock: - 用于安全执行代码的方法
- + (void)rk_safeWithBlock: - 用于安全执行代码的方法
- + (void)rk_performBlock:delay: - 定时执行块
- + (void)rk_clearCookies - 快速清除 NSHTTPCookieStorage 中的 cookies
- + (CGSize)rk_frameForText:sizeWithFont:constrainedToSize: - 返回放置文本的 frame 大小
- + (NSString*)rk_endingForNumber:andEnding: - 根据数字和末尾数组返回单词的复数形式结尾
NSObject+RKNSObjectCategory.h
- + (BOOL)isNilObject:(NSObject*)object - 返回对象是否为 nil
- - (BOOL)isNil - 返回对象是否为 nil
UIImage+RKUIImageCategory.h
- + (UIImage *)imageWithColor:(UIColor *)color - 创建具有指定背景颜色的 UIImage
- + (void)cornerRadiusForPicture:(UIImage)image imageView:(UIImageView)imageView radius:(CGFloat)radius;
- + (UIImage)cornerRadiusForPicture:(UIImage)image radius:(CGFloat)radius;
UITableView+RKUITableViewCategory
- - (void)rk_registerNibWithClass:(Class)class - 使用 NSStringForClass 注册为 class 类的 Xib 单元格
UIView+RKUIViewCategory.h
- @property (nonatomic, copy) NSString *rk_stringExtra - view 标签的属性(在运行时添加)
- @property (nonatomic, assign) CGFloat x - X 坐标
- @property (nonatomic, assign) CGFloat y - Y 坐标
- @property (nonatomic, assign) CGFloat width - 宽度
- @property (nonatomic, assign) CGFloat height - 高度
- @property (nonatomic, assign) CGPoint origin - 原点
- @property (nonatomic, assign) CGSize size - 尺寸
- @property (nonatomic, assign) CGFloat centerX - X 中心坐标
- @property (nonatomic, assign) CGFloat centerY - Y 中心坐标
- @property (nonatomic, assign) CGFloat top - 顶部边缘
- @property (nonatomic, assign) CGFloat bottom - 底部边缘
- @property (nonatomic, assign) CGFloat left - 左边缘
- @property (nonatomic, assign) CGFloat right - 右边缘
- - (void)setZeroConstraints: - 将 view 绑定到 superView 的所有边缘
- - (void)autoHeight - 根据包含的 subview 尺寸调整 view 的高度
- - (void)rk_shakeView - 水平晃动 view
- - (void)rk_printSubviewsWithIndentation: - 将 view 的文本层次结构输出到 NSLog
- - (UIView *)rk_viewWithStringExtra: - 查找具有指定标签的 subview
NSString+RKNSStringCategory.h
- - (BOOL)isEmpty - 返回 YES,如果字符串为空,否则返回 NO
- - (NSString *)md5String - 返回 MD5 字符串
- + (NSString *)md5String: - 返回 MD5 字符串
NSDate+RKNSDateCategory.h
- + (NSString)rk_nowStringWithFormat:(NSString)format - 返回当前日期的个性化格式
- + (NSString*)rk_nowString - 返回当前日期的格式 yyyy-MM-dd hh:mm:ss
- + (NSString*)rk_nowStringDate - 返回当前日期的格式 yyyy-MM-dd
- + (NSString*)rk_nowStringTime - 返回当前时间的格式 hh:mm:ss
- + (NSTimeInterval)timeIntervalSince1970 - 返回自 1970 年 1 月 1 日以来的秒数
- - (NSString)rk_stringWithFormat:(NSString)format - 以自定义格式返回日期
- - (NSString*)rk_string - 以格式 yyyy-MM-dd hh:mm:ss 返回日期
- - (NSString*)rk_stringDate - 以格式 yyyy-MM-dd 返回日期
- - (NSString*)rk_stringTime - 以格式 hh:mm:ss 返回时间
UIColor+RKUIColorCategory.h
- + (UIColor*)rk_colorWithHex:alpha: - 根据十六进制值和透明度值返回 UIColor
- + (UIColor *)rk_colorWithHex: - 根据十六进制值返回 UIColor
UIViewController+RKUIViewControllerCategory.h
- - (UINavigationController*)rk_vcToNavController - 创建 Navigation controller 并将当前根 View Controller 设置为
UINavigationController+RKUINavigationControllerCategory.h
- @property (nonatomic, strong) NSString* backButtonTitle - "返回"按钮的文本
UILabel+RKUILabelCategory.h
- - (CGFloat)autoHeight - 根据文本内容调整高度
- - (CGFloat)autoWidth - 根据文本内容调整宽度
LICENSE
The MIT License (MIT)
版权所有 (c) 2015 Roman Kotov
任何人有权免费获得本软件和关联文档副本(“软件”),无需限制地使用软件,包括无限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向得到软件的人授权从事上述行为,但需遵守以下条件
上述版权声明和本许可声明应包括在软件的所有副本或实质部分中。
软件按“现状”提供,不提供任何担保,明示或默示的,包括但不限于对适销性、特定用途的适用性和非侵权的担保。在任何情况下,作者或版权所有者不对因合同、侵权或其他行为产生的任何索赔、损害或其他责任负责,无论是源于、因之而产生或与此相关的软件或其使用或任何其他处理。