innerObserver.send(value: 1) innerObserver.sendCompleted() } signalProducer .startWithResult { result in switch result { case let .success(value): print("value: \(value)") case let .failure(error): print("error: \(error)") } } ɾ3FBDUJWF4XJGU
extension to collect and add multiple disposables to DisposeBag. •ɾAdds scan(into:accumulator:). •ɾAdds queuePriority parameter (defaults to .normal) to OperationQueueScheduler. •ɾPerformance enhancement reduces Bag dispatch inline code size by 12%. •ɾAdds customCaptureSubscriptionCallstack hook to allow custom subscription callstacks to be generated. •ɾRemove usage of Variable from Playground, Example projects and Tests. •ɾAdd XCTAssertRecordedElements to XCTest+Rx.
to be gathered for disposal. public convenience init(disposing disposables: Disposable...) { self.init() self._disposables += disposables } /// Convenience init allows an array of disposables to be gathered for disposal. public convenience init(disposing disposables: [Disposable]) { self.init() self._disposables += disposables } /// Convenience function allows a list of disposables to be gathered for disposal. public func insert(_ disposables: Disposable...) { self.insert(disposables) } /// Convenience function allows an array of disposables to be gathered for disposal. public func insert(_ disposables: [Disposable]) { self._lock.lock(); defer { self._lock.unlock() } if self._isDisposed { disposables.forEach { $0.dispose() } } else { self._disposables += disposables } }
enables using C11 atomic primities •in RxSwift as a replacement for deprecated OSAtomic* functions. Carthage users will probably need to include this framework manually. •ɾUpdates deprecated OSAtomic* primitives to use C11 atomic primitives. •ɾAdds Event, SingleEvent, MaybeEvent and Recorded conditional conformance •ɹto Equatablewhere their Element is equatable on RXTest for clients that are using Swift >= 4.1. •ɾAdds string to NSTextView. •ɾConsolidates per platform frameworks to multi-platform frameworks. •ɾXcode 10.1 compatible. •
atomic operations. * The C11 interfaces in <stdatomic.h> resp. C++11 interfaces in <atomic> * should be used instead. * * Define OSATOMIC_USE_INLINED=1 to get inline implementations of these * interfaces in terms of the <stdatomic.h> resp. <atomic> primitives. * This is intended as a transition convenience, direct use of those primitives * is preferred. */ ɾOSAtomic
kudos to @andersio and @Ankit-Aggarwal) ɾ$IBOHFT<~#JOEJOHT let nilTarget: BindingTarget<Int>? = nil // This is now a valid binding. Previously required manual // unwrapping in ReactiveSwift 3.x. nilTarget <~ notifications.map { $0.count }
failure(Failure) } [WIP] Removing Result in favor of Swift.Result #702 /// A protocol that can be used to constrain associated types as `Result`. public protocol ResultProtocol { associatedtype Success associatedtype Failure: Swift.Error init(success: Success) init(failure: Failure) var result: Result<Success, Failure> { get } } 4XJGUBOE3FTVMUJO4UBOEBSE-JCSBSZ