HandlersKit
HandlersKit 是一个轻量级的 iOS 框架,允许您使用现代闭包语法而不是 target-action 和 delegate 模式。该框架涵盖了最常用的 UIKit 类。
概览
使用闭包语法代替 UIControl 的 target-action 机制。
control.on(.valueChanged) {
print("UIControl's value changed")
}
方便常用的方法。
button.onTap {
print("UIButton touch up inside")
}
slider.onChange { newValue in
print("UISlider changed value")
}
在闭包内访问相同的对象,无需类型转换或可选值拆包。
let button = MyActivityIndicatorButton()
button.onTap { (sender: MyActivityIndicatorButton) in
sender.showActivityIndicator()
}
每个方法都允许 链式调用。
textField.shouldChangeString { fromString, toString in
print("\(fromString) -> \(toString)")
return true
}.shouldBeginEditing {
true
}.didEndEditing {
print("UITextField did end editing")
}
优点
- HandlersKit 扩展了 UIControl、UIBarButtonItem、UIGestureRecognizer、UITextField 和 UITextView。
- 闭包存储为关联对象。不使用 singleton 或 Notification Center。这意味着该闭包捕获的所有对象将在 UIKit 对象释放时被释放。
安装
CocoaPods
要使用CocoaPods安装HandlersKit,请在您的Podfile中添加以下行:
pod 'HandlersKit'
然后在终端中运行
$ pod install
Carthage
要使用Carthage将HandlersKit集成到项目中,在Cartfile中指定它:
github "hhru/HandlersKit"
Swift包管理器
要使用Swift包管理器将HandlersKit集成到您的项目中,您有两种不同的方法:
- 在Xcode中,转到“文件 > Swift包 > 添加包依赖...”,并输入以下URL
https://github.com/hhru/HandlersKit
- 或者将以下内容作为依赖项添加到您的
Package.swift
中
.package(url: "https://github.com/hhru/HandlersKit.git", from: "1.0.0")
手动
- 转到发布页面。
- 下载最新版本的
源代码
。 - 将
HandlersKit-x.y.z/Sources
文件夹中所有的.swift文件拖放到您的Xcode项目中。勾选选项如果需要则复制项。
许可证
HandlersKit遵循MIT许可证发布。(见LICENSE)。