测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可 | MIT |
发布上次发布 | 2016年12月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Peter DeWeese 维护。
Swift 库,用于简化键值观察。KVO 只适用于 NSObjects,因此 Observative 只能观察 NSObject 的祖先。
dynamic var myVar
var updateCalled = false
let objectToWatch = NSMutableDictionary(dictionary:["key1":"value1"])
let observative = Observative()
observative.observe(objectToWatch, keyPath:"key1")
{
updateCalled = true
}
objectToWatch["key1"] = "updatedValue1"
if updateCalled{ print("it worked!") }
class MyController, Observes
{
var objectToWatch:CustomObject {
didSet {
if oldValue != nil
{
stopObserving(oldValue)
}
observe(objectToWatch, keyPath:"myProperty")
{
self.doOnChange()
}
}
}
func doOnChange()
{
print("myProperty changed!")
// object changed
}
}