KeypathObserver 1.0.0

KeypathObserver 1.0.0

测试已测试
语言语言 SwiftSwift
授权 MIT
发布上次发布2016年9月
SPM支持SPM

nixzhu维护。



KeypathObserver

使用简单语法的KVO观察。

要求

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
    }
}

安装

建议使用CocoaPods或Carthage。

联系

NIX @nixzhu

授权

KeypathObserver根据MIT授权许可提供。有关更多信息,请参阅LICENSE文件。