TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Sep 2016 |
SPMSupports SPM | ✓ |
Maintained by nixzhu.
KVO observing with simple syntax.
Swift 2.3, iOS 8.0
class ViewController: UIViewController {
var view: UIView?
var centerObserver: KeypathObserver<UIView, CGPoint>?
var colorObserver: KeypathObserver<UIView, UIColor>?
override func viewDidLoad() {
super.viewDidLoad()
let view = UIView()
self.centerObserver = KeypathObserver(
object: view,
keypath: "center",
valueTransformer: { ($0 as? NSValue)?.CGPointValue() },
valueChanged: { oldCenter, newCenter in
print("oldCenter: \(oldCenter)")
print("newCenter: \(newCenter)")
}
)
view.center = CGPoint(x: 100, y: 100)
view.center = CGPoint(x: 200, y: 50)
self.colorObserver = KeypathObserver(
object: view,
keypath: "backgroundColor",
valueTransformer: { $0 as? UIColor },
valueUpdated: { newColor in
print("newColor: \(newColor)")
}
)
view.backgroundColor = UIColor.redColor()
view.backgroundColor = nil
self.view = view
}
}
It’s recommended to use CocoaPods or Carthage.
NIX @nixzhu
KeypathObserver is available under the MIT License. See the LICENSE file for more info.