xfer / RxBiBinding

Reactive two-way binding

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RxBiBinding

Build Status Version License Platform

Example

Binding between two ControlProperty

let disposeBag = DisposeBag()

var textFieldFirst = UITextField()
var textFieldSecond = UITextField()

(textFieldFirst.rx.text <-> textFieldSecond.rx.text).disposed(by: disposeBag)

Binding between two BehaviorRelay

let disposeBag = DisposeBag()

var textFirst = BehaviorRelay<String?>(value: "")
var textSecond = BehaviorRelay<String?>(value: "")

(textFirst <-> textSecond).disposed(by: disposeBag)

Binding between ControlProperty and BehaviorRelay

let disposeBag = DisposeBag()

var text = BehaviorRelay<String?>(value: "")
var textField = UITextField()

(textField.rx.text <-> text).disposed(by: disposeBag)

Binding between two NSObject

class TestClass: NSObject {
    @objc dynamic var string = "TestString"
}

let disposeBag = DisposeBag()
var test1 = TestClass()
var test2 = TestClass()

((test1, "string") <-> (test2, "string")).disposed(by: disposeBag)

Requirements

iOS >= 10

Installation

RxBiBinding is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'RxBiBinding'

Thanks

This solution is based on ReactiveCocoa (Obj-C version)

License

RxBiBinding is available under the MIT license. See the LICENSE file for more info. Copyright (c) RxSwiftCommunity

About

Reactive two-way binding

License:MIT License


Languages

Language:Swift 88.5%Language:Ruby 11.5%