测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最新发布 | 2015 年 11 月 |
SPM支持 SPM | ✗ |
由 Srdan Rasic 维护。
ReactiveFoundation 是 ReactiveKit 集合框架中的一个框架,它扩展了 NSObject 对象以支持类型安全的 KVO 并为 NSNotificationCentar 提供了反应式观察机制。请参阅 ReactiveKit 文档以了解如何使用它提供的 Observables。
let user = ObjCUserClass()
user.rValueForKeyPath("name").observe { (name: String?) in
print(name)
}.disposeIn(rBag)
user.rValueForKeyPath("name").bindTo(nameLabel.rText)
只要返回的 disposable 仍然存在,观察 KVO-observable 就会活跃。请确保在使用 KVO-observable 上的
observe
方法时存储 disposable。在使用bindTo
方法时不需要存储 disposable。当可绑定目标(即视图)被释放时,绑定会自动销毁。
NSNotificationCenter.defaultCenter().rNotification("MyNotification").observe { notification in
print("Did receive notificaton \(notification).")
}.disposeIn(rBag)
确保当观察不再需要时总是释放观察。一个简单的方法是将 disposable 放到启动观察的对象的 disposable bag 上。
dispose bag 由 NSObject 及其所有子类提供,并且当对象被释放时会进行销毁。请使用此方法来清理您的观察。
MIT 许可协议 (MIT)
版权所有 © 2015 Srdan Rasic (@srdanrasic)
特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,免费使用、复制、修改、合并、出版、分发、再许可或出售软件副本的许可,并允许向该软件提供的人同样这样做,但需遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“本软件原样提供”,不对任何形式的通知或暗示做出任何保证,包括但不限于对适销性、对特定目的的适用性和非侵犯性的保证。在任何情况下,作者或版权所有者都不承担任何责任,包括但不限于因合同、侵权或任何其他行为而引起的损害赔偿或其他责任,这些损害赔偿或其他责任源于或与软件的使用或任何其他处理有关,或与之有关。