ReerKit 是许多个原生 Swift 扩展的集合,为 iOS、macOS、tvOS、watchOS, visionOS 和 Linux 提供了适用于各种原生数据类型、UIKit 和 Cocoa 类的便捷方法、语法糖和性能改进。
框架中所有的系统类型 extension 都添加了 re
中缀, 避免了同名扩展调用时的歧义问题, 如
SGVsbG\n8gV29ybGQh".re.base64Decoded
"123".re.md5String
view.re.addSwiftUIView(Color.red)
框架中还包含许多其他丰富便捷的功能
// 用 dynamic member lookup 实现通过点语法访问字典内容
let dict: [String: Any] = ...
dict.dml.user_name.re.string <=> dict["user_name"] as? String
// 弱引用容器, 元素销毁时自动移出容器
WeakSet, WeakMap
// 设置 UIView 灰度模式
view.re.isGrayModeEnabled = true
// 数据结构封装
BinaryTree, Tree, LinkedList, Queue, BoundedQueue, Stack, OrderedSet, OrderDictionary
// 各种锁的封装
MutexLock, ReadWriteLock, Synchronizing, UnfaireLock
// 属性包装器 PropertyWrappers
Clamped, Locked, Rounded, RWLocked, Trimmed
// 其他工具类
RSA, AES, CountdownTimer, Debouncer, Throttler, DeinitObserver, KeyboardManager, Keychain, Reachability, NanoID, MulticastDelegate
// 还有为标准库, UIKit, Foudation 等框架提供了大量扩展方法和属性
String+REExtensions
UIView+REExtensions
Array+REExtensions
Date+REExtensions
....
iOS 12.0+
macOS 10.13+
tvOS 12.0+
watchOS 4.0+
visionOS 1.0+
Ubuntu 14.04+
Swift 5.9+
XCode 15.4+
Carthage
要使用 Carthage 将 ReerKit 集成到您的 Xcode 项目中,请在您的 Cartfile
中设置:
github "ReerKit/ReerKit" ~> 1.1.5
Swift Package Manager
你可以使用 The Swift Package Manager 来安装 ReerKit,请在你的 Package.swift
文件中添加正确的描述:
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.package(url: "https://github.com/reers/ReerKit.git", from: "1.1.5")
]
)
接下来,将 ReerKit
添加到您的 targets 依赖项中,如下所示:
.target(
name: "YOUR_TARGET_NAME",
dependencies: [
"ReerKit",
]
),
然后运行 swift package update
。
请注意,Swift Package Manager 不支持为 iOS/tvOS/macOS/watchOS 应用程序编译