Je dois migrer une application de ReactiveCocoa 4 à ReactiveCocoa 5 (en raison de Swift 3 migration)la migration RACSubject à ReactiveCocoa 5 (Swift 3)
L'ancienne implémentation utilise des instances de RACSubject pour le déclenchement (performOperationSubject.sendNext) un l'exploitation et pour le traitement (didOperationSubject.subscribeNext) le résultat
internal class MyClass {
internal var performOperationSubject: RACSubject = RACSubject()
internal var didOperationSubject: RACSubject = RACSubject()
internal overide init() {
super.init()
self.performOperationSubject.subscribeNext { [weak self](_) in
guard let strongSelf = self else { return }
strongSelf.didOperationSubject.sendNext(result)
}
}
et lorsque l'instance de MyClass est utilisé
myClassInstance.didOperationSubject.subscribeNext { ... }
myClassInstance.performOperationSubject.sendNext(value)
Malheureusement le RACSubject n'est plus présent dans ReactiveCocoa 5 (ReactiveSwift)
Comment puis-je remplacer le RACSubject dans ce contexte?
J'ai trouvé une référence plus précise sur cette question sur le changement ReactiveCocoa journal https: // github.com/ReactiveCocoa/ReactiveCocoa/blob/master/CHANGELOG.md#using-signalpipe-instead-of-racsubject – cristallo