Adds `rx_state` to `NSButton`.

This commit is contained in:
mrahmiao 2016-01-01 17:30:34 +08:00
parent 91058f98d1
commit 96aef6e47a
2 changed files with 16 additions and 0 deletions

View File

@ -20,4 +20,15 @@ extension NSButton {
public var rx_tap: ControlEvent<Void> {
return rx_controlEvent
}
/**
Reactive wrapper for `state` property`.
*/
public var rx_state: ControlProperty<Int> {
return rx_value(getter: { [weak self] in
return self?.state ?? 0
}, setter: { [weak self] state in
self?.state = state
})
}
}

View File

@ -41,4 +41,9 @@ extension ControlTests {
let createView: () -> NSButton = { NSButton(frame: CGRectMake(0, 0, 1, 1)) }
ensureEventDeallocated(createView) { (view: NSButton) in view.rx_tap }
}
func testButton_StateCompletesOnDealloc() {
let createView: () -> NSButton = { NSButton(frame: CGRectMake(0, 0, 1, 1)) }
ensureEventDeallocated(createView) { (view: NSButton) in view.rx_state }
}
}