RФKit
英语 简体中文
RФKit 是日常 Cocoa 开发的有用工具包。
要求
RФKit 版本 | 最低 Xcode 版本 | 最低 iOS 目标 | 最低 macOS 目标 | 最低 watchOS 目标 | 最低 tvOS 目标 |
---|---|---|---|---|---|
2.5+ | Xcode 9 | iOS 9 | macOS 10.9 | watchOS 2.0 | tvOS 9.0 |
2.4 | Xcode 8 | iOS 8 | macOS 10.8 | watchOS 2.0 | tvOS 9.0 |
2.0-2.3 | Xcode 8 | iOS 6 | macOS 10.8 | watchOS 2.0 | tvOS 9.0 |
1.7 | Xcode 7 | iOS 6 | macOS 10.8 | watchOS 2.0 | tvOS 9.0 |
1.6 | Xcode 8 | iOS 6 | N/A | watchOS 2.0 | N/A |
安装
CocoaPods
要使用 CocoaPods 进行安装,请将以下内容添加到您的项目 Podfile 中:
pod 'RFKit'
指定开发分支以安装最新版本
pod 'RFKit', :git => 'https://github.com/BB9z/RFKit.git', :branch => 'develop'
一个更复杂的示例
pod 'RFKit',
:git => 'https://github.com/BB9z/RFKit.git',
:subspecs => ['Default', 'Category/NSDateFormatter']
Carthage
尽管我推荐使用CocoaPods,但Carthage仍然得到支持。
在Cartfile中指定RFKit
github "BB9z/RFKit"
手动
您可以通过将源代码添加到项目中始终导入RFKit。只需复制您需要的任何文件。
dout
dout 包含一组方便的日志工具,专门为调试设计。
特性
-
输出格式优于NSLog(),且更快。
-
自动在结果前面添加表达式。
例如。
int a = 10; dout_int(101+a) // Output: 101+a = 111
-
针对多线程调试进行了优化,您可以轻松找到输出来自哪个线程。
-
支持在日志输出中添加位置信息,以帮助跟踪日志语句的位置。将
DOUT_FLAG_TRACE
设置为1
以启用。 -
针对警告和错误的特殊日志方法。可以更改它们的行为以引发异常或断言失败。
-
通过开关可以高度自定义行为。
-
作为宏,通常没有性能损失。
详细信息:dout 文档(中文)
RFRuntime
处理构建或运行时差异。为上层组件提供统一的简单接口。包含:调试开关定义、默认头文件、RFARC和语言扩展。
调试开关
RFDEBUG
,RFKit 调试模式开关。设置为 1
以启用。如果未定义,则当 DEBUG
为真且未定义 NDEBUG
时,将定义为 1
。
RFDebugLevel
,用于控制调试行为。如果未定义,当 RFDEBUG
为真时会将其定义为 2
,否则为 1
。
默认头部文件
UIKit 和 Foundation 头文件默认已包含在 RFRuntime 中。
RFFeatureSupport
定义了一些伪造的协议来声明一个类是否支持某些功能。
RFDispatch
一些辅助函数,用于 GCD。
语言扩展
包含从 libextobjc 的某些组件。
- metamacros.h,宏定义用于元编程。
- EXTKeyPathCoding,允许在编译时验证键路径。
- EXTScope,与作用域相关的几个工具。
@keypathClassInstance
与 @keypath
类似,但接受一个类作为参数而不是实例变量。
UIKit & Foundation 分类
RFKit 的一个重要部分。包含许多有用方法。
RFKitDefaultCategories.h
保护默认引入的扩展。
查看每个头文件以了解具体功能。
RFGeometry
为几何结构添加了新的方法和常量:CGPoint
、CGSize
、CGRect
。添加了一个新的CGAngle
角度结构。
RFResizeAnchor
和RFAlignmentAnchor
提供调整大小和参考对齐。
RFPerformance & doutkit
性能工具包。
其他
一些外部组件放置在external
文件夹中。