RxCocoa

ObservableType

/// Represents a push style sequence.
public protocol ObservableType: ObservableConvertibleType {
    func subscribe<Observer: ObserverType>(_ observer: Observer) -> Disposable where Observer.Element == Element
}

ObserverType

/// Supports push-style iteration over an observable sequence.
public protocol ObserverType {
    associatedtype Element
    func on(_ event: Event<Element>)
}

ControlProperty

Binder