ReactiveCocoa'yı Objective-C'de kullandım, ancak RAC4'ten daha kolay anlaşılacağı için RxSwift'e geçtim. Ancak faydalı oldu RAC yapmak için kullanılan bir şey var:Nesneyi RxSwift eylemine gönder Eylem
@weakify(self);
[[RACCommand alloc] initWithEnabled:RACObserve(self, valid) signalBlock:^RACSignal *(id input) {
@strongify(self);
return [[RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
//make network call
//send responseObject to subscriber
[subscriber sendNext:responseObject];
[subscriber sendCompleted];
return nil;
}] materialize];
}];
Bu benim çağrısından döndürülen verileri gözlemlemek böylece o devlet yürütme yanı sıra yürütme sinyalleri oluyor benim için komuta abone izin .
Bunu RxSwift Eylemi ile nasıl yeniden üreteceğimi bilmiyorum.
var loader: NotificationType?
formButton.rx_action!.executing.subscribeNext({ [weak self] (executing) -> Void in
if executing {
loader = self?.showNotification(.Loading, title: self?.viewModel.loaderTitle.value, message: "Please wait".localized, timeout: -1)
}
else {
if let loader = loader {
loader.dismiss()
}
}
}).addDisposableTo(disposeBag)
Ama sonra benim tepki veri göndermek için ek PublishSubject
oluşturmak zorunda: Ben onun gözlenebilir yürütülmesi abone olmak sadece am güçlü
viewModel.submitSubject.subscribe(onNext: { (response) -> Void in
print(response)
}, onError: { (error) -> Void in
print(error)
}, onCompleted: {() -> Void in
//completed
}) {() -> Void in
}.addDisposableTo(disposeBag)
benzer bir model oluşturmak için bir yolu var mı RxSwift ile Eylem?