3

で複数のプロパティに影響を与え、コマンドをアクティブにしたいと思いますUIButton

これを行う最善の方法について推論しようとしていますが、いくつかの入力を使用できます。

ここに私が持っているものがあります:

// Listen for changes on the textfields, alter the button UI state
[[RACSignal
  combineLatest:@[ _usernameField.rac_textSignal,_passwordField.rac_textSignal]
  reduce:^id(NSString *username, NSString *password) {
      BOOL valid = [username length] >= 4 && [password length] >= 4;
      _loginButton.enabled = valid;
      _loginButton.alpha = valid ?: 0.65;
      return nil;
  }] subscribeCompleted:^{}];

// Listen for taps
_loginButton.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
    NSLog(@"Tap");
    return [RACSignal empty];
}];

これは機能しますが、推奨事項を聞きたいです。

4

2 に答える 2