Ios 将参数传递给RACCommand

Ios 将参数传递给RACCommand,ios,reactive-cocoa,frp,Ios,Reactive Cocoa,Frp,所以我在UIButton上使用RACCommand。点击此按钮后,用户注册开始。它看起来像: self->_termsOfServicesAcceptButton.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) { UserModel* newUser = [[UserModel alloc] initWithUsername:self->_userNameTextFie

所以我在UIButton上使用RACCommand。点击此按钮后,用户注册开始。它看起来像:

self->_termsOfServicesAcceptButton.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
    UserModel* newUser = [[UserModel alloc] initWithUsername:self->_userNameTextField.text password:self->_passwordTextField.text email:self->_emailTextField.text firstname:self->_firstNameTextField.text lastname:self->_lastNameTextField.text];
    return [self termsOfServicesAcceptedSignal:newUser];
}
状态指示器钩住执行信号的
,如:

[[self->_termsOfServicesAcceptButton.rac_command.executing deliverOn:[RACScheduler mainThreadScheduler]] subscribeNext:^(NSNumber* isSigningUp) {
    @strongify(self);
    if ([isSigningUp boolValue]) {
         [self->_signUpActivityIndicator startAnimating];
         NSLog(@" activity indicator started animating");
    }
    else {
        [self->_signUpActivityIndicator stopAnimating];
        NSLog(@" activity indicator stopped animating");
    }
}];
术语sofservicesacceptedsignal
只是现有函数的包装,如下所示:

RACSignal* signal = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
    [self termsOfServicesAcceptButtonPressed:newUser withCompletion:^{
        [subscriber sendNext:@(YES)];
        [subscriber sendCompleted];
    }];
    return nil;
}];
return signal;
从这个意义上讲,
newUser
被正确地传入,注册成功,但状态指示器从未停止旋转,即它从未收到任何结束的消息


我推测这是因为有了替换代码,RACCommand不再自动订阅
术语sofservicesacceptedsignal
,而是
newUserModelSignal
。那么,我该如何解决这个问题,以便状态指示器正确地拾取执行信号?谢谢。

如何实现
newUserModelSignal
?它完成了吗?
self->_termsOfServicesAcceptButton.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
    return [newUserModelSignal flattenMap:^RACStream *(UserModel* newUser) {
        return [self termsOfServicesAcceptedSignal:newUser];
    }];
}];