ViewController に ViewModel オブジェクトの NSArray があります。
@property (非アトミック、強力) NSArray *viewModels;
ViewModel オブジェクトは次のようになります。
@interface ViewModel : NSObject
@property (nonatomic) BOOL isSelected;
@end
RACCommand の init メソッドで enabledSignal の RACSignal を作成しようとしています。
- (id)initWithEnabled:(RACSignal *)enabledSignal signalBlock:(RACSignal * (^)(id input))signalBlock
このシグナルは、選択された viewModel オブジェクトが 0 であるか、選択された viewModel の数が viewModel の総数と等しい場合に有効になるように Command に指示します。
このコードで選択された viewModel オブジェクトを提供する RACSequence を作成できます。
RACSequence *selectedViewModels = [[self.viewModels.rac_sequence
filter:^BOOL(ViewModel *viewModel) {
return viewModel.isSelected == YES;
}]
map:^id(ViewModel *viewModel) {
return viewModel;
}];
有効な信号を作成するにはどうすればよいですか?