Reactive Programming in Swift
timeout
operator to PrimitiveSequence
(Single
, Maybe
, Observable
)delay
operator to SharedSequence
.andThen
operator to Completeable
.concat
operator to Completeable
.RxPickerViewDataSourceType
UIPickerView
extensions:
modelSelected
itemTitles
itemAttributedTitles
items
UITableView
extensions:
modelDeleted
UICollectionView
extensions:
itemHighlighted
itemUnhighlighted
willDisplayCell
didEndDisplayingCell
willDisplaySupplementaryView
didEndDisplayingSupplementaryView
UIScrollView
extensions:
willBeginDecelerating
willBeginDragging
willBeginZooming
didEndZooming
shareReplayWhileLatest
. #1323NSControl
on macOS.from
operator on "SharedSequence"merge
operator on "Completable"using
operator on "PrimitiveSequence"concatMap
operator.share(replay:scope:)
operator.multicast(makeSubject:)
operator.UIButton.image(for:)
extension.UIButton.backgroundImage(for:)
extension.share()
and shareReplay(_:)
. #1111.share()
inconsistent in behavior. #1242Driver
sometimes sending initial element async. #1253UINavigationController
delegate proxy and extensions:
willShow
didShow
TestScheduler.start(_:create:)
in favor of TestScheduler.start(disposed:create:)
.TestScheduler.start(_:subscribed:disposed:create:)
in favor of TestScheduler.start(created:subscribed:disposed:create:)
.combineLatest
and zip
. #1205merge
operator completing immediately in case one of the observable sequences is empty. #1221SharedSequence.zip
(collection).SharedSequence.zip
.SharedSequence.combineLatest
(collection).SharedSequence.combineLatest
.trimOutput
parameter to SharedSequence.debug
.RxImagePickerDelegateProxy
subclass of RxNavigationControllerDelegateProxy
.onSuccess
, onError
, onCompleted
).bindTo
in favor of bind(to:)
.materialize
operatordematerialize
operatorlatest
parameter to SharedSequence.throttle
operator.debug
operator to PrimitiveSequence
.UICollectionView
data source caching and disposal logic. #1154Single
, Maybe
, Completable
units inspired by RxJava (operators):
create
deferred
just
error
never
delaySubscription
delay
do
filter
map
flatMap
observeOn
subscribeOn
catchError
retry
retryWhen
zip
asSingle()
operator on ObservableType
.asMaybe()
operator on ObservableType
.asCompleteable()
operator on ObservableType
.combineLatest
and zip
overloads without result selector (defaults to tuple).combineLatest
and zip
overloads with result selector (defaults to array of elements)merge
operator to observable sequence (variadic, array, collection). #579merge
operator to shared sequence (variadic, array, collection).AsyncSubject
implementation.XCTAssertEqual
overloads to RxTest
.countDownDuration
to UIDatePicker
.attributedTitle(for:)
to UIButton
.onSubscribed
to do
operator.isUserInteractionEnabled
to UIView
.responds(to:)
selector logic to only respond to used selectors. #1081, #1087from()
in favor of from(optional:)
to avoid issues with implicit conversions to optional.merge
operator. #1063collectionViewLayout.invalidateLayout()
after reloadData()
as a workaround for iOS 10 bug.UICollectionView.rx.didUpdateFocusInContextWithAnimationCoordinator
context parameter type to UICollectionViewFocusUpdateContext
groupBy
operatorifEmpty(switchTo:)
operatorifEmpty(default:)
operatorDisposable
extension disposed(by:)
equivalent to addDisposableTo
that is meant to replace it in future 4.0 version.Variable
and Observable.create
.Sink
.numberOfPages
to UIPageControl
.DisposeBag
s.final
keyword wherever applicable.import Foundation
statements.shareReplayWhileConnected
by making sure that events emitted after disconnect are ignored even in case of fast reconnect.DisposeBag
s.UISearchController
.NSTextStorage
.UIWebView
.UIPickerView
.changed
property to ControlProperty
that returns ControlEvent
of user generated changes.
textField.text.changed.map { "User changed text to \($0)" }
from
operator. let num: Int? = 3; let sequence = Observable.from(num)
UIBindingObserver
by tolerating binding from non main dispatch queue. In case binding is attempted
from non main dispatch queue it will be automagically dispathed async to main queue.UIDatePicker
, UISearchBar
, UISegmentedControl
, UISwitch
, UITextField
, UITextView
(value
property + value alias name).UIScrollView
.
didScroll
didZoom
didEndDecelerating
didEndDragging
didScrollToTop
refreshing
to isRefreshing
.UIWebView
extensions:
didStartLoad
didFinishLoad
didFailLoad
UITabBarController
extensions
willBeginCustomizing
willEndCustomizing
didEndCustomizing
didSelect
UIBarButtonItem
extensions
title
nil
.UITableView
invalid state caching of previous data source even after the change.
Binding of reactive data source now triggers layoutIfNeeded
that invalidates that internal cached state.AnyRecursiveScheduler
. #995