HandlersKit is a light-weight iOS Framework that allows you to use modern closure syntax instead of the target-action and delegate patterns. This framework covers the most popular UIKit classes.
Closure syntax instead of UIControl's target-action mechanism.
control.on(.valueChanged) {
print("UIControl's value changed")
}
Convenient methods for the most common cases.
button.onTap {
print("UIButton touch up inside")
}
slider.onChange { newValue in
print("UISlider changed value")
}
Access to the same object inside the closure without typecasting or optional unwrapping.
let button = MyActivityIndicatorButton()
button.onTap { (sender: MyActivityIndicatorButton) in
sender.showActivityIndicator()
}
Every method allows chaining.
textField.shouldChangeString { fromString, toString in
print("\(fromString) -> \(toString)")
return true
}.shouldBeginEditing {
true
}.didEndEditing {
print("UITextField did end editing")
}
To install HandlersKit using CocoaPods add the following line to your Podfile
:
pod 'HandlersKit'
Then run in Terminal:
$ pod install
To integrate HandlersKit into your project using Carthage, specify it in your Cartfile:
github "hhru/HandlersKit"
To integrate HandlersKit into your project using Swift Package Manager, you have two different ways:
File > Swift Packages > Add Package Dependency...
and enter the following URL:https://github.com/hhru/HandlersKit
Package.swift
:.package(url: "https://github.com/hhru/HandlersKit.git", from: "1.2.0")
Source code
.HandlersKit-x.y.z/Sources
folder into your Xcode project. Check the option Copy items if needed.HandlersKit is released under the MIT License. (see LICENSE).
link |
Stars: 35 |
Last commit: 1 year ago |
Full Changelog: https://github.com/hhru/HandlersKit/compare/1.1.1...1.2.0
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics