Wenn ich ein UIControlEventTouchUpInside
Signal zu einem doneButton
hinzufügen, und rufen Sie eine API auf, wenn das API fehlschlägt, wird der Fang aufgerufen. Wenn ich jedoch versuche, erneut auf den Button zu klicken, wird das Button-Control-Event nicht ausgelöst.ReactiveCocoa nach dem Fehler, das Button-Signal nicht erneut ausgelöst
- (void)viewDidLoad {
[super viewDidLoad];
[[[[[self.doneButton rac_signalForControlEvents:UIControlEventTouchUpInside] doNext:^(id x) {
[SVProgressHUD show];
}] flattenMap:^RACStream *(id value) {
return [[HttpService sharedService] updateImageData:UIImageJPEGRepresentation(self.signatureImageView.image, 0.5)];
}] catch:^RACSignal *(NSError *error) {
[SVProgressHUD showErrorWithStatus:error.localizedDescription];
return [RACSignal empty];
}] subscribeNext:^(id x) {
[SVProgressHUD dismiss];
[self.navigationController popToRootViewControllerAnimated:YES];
}];
}
Bitte überprüfen Sie meine Antwort. –