doneButton
にUIControlEventTouchUpInside
信号を追加してAPIを呼び出し、APIが失敗するとキャッチが呼び出されます。しかし、もう一度ボタンをクリックしようとすると、ボタンコントロールイベントがトリガーされません。ReactiveCocoaエラーをキャッチした後、ボタン信号が再度トリガーされない
- (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];
}];
}
私の答えを確認してください。 –