で複数のプロパティに影響を与え、コマンドをアクティブにしたいと思います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];
}];
これは機能しますが、推奨事項を聞きたいです。