我的 ViewController 上有一个 NSArray 的 ViewModel 对象:
@property (nonatomic, strong) NSArray *viewModels;
ViewModel 对象看起来像这样:
@interface ViewModel : NSObject
@property (nonatomic) BOOL isSelected;
@end
我正在尝试在 RACCommand 的 init 方法上为 enabledSignal 创建一个 RACSignal:
- (id)initWithEnabled:(RACSignal *)enabledSignal signalBlock:(RACSignal * (^)(id input))signalBlock
如果选择了 0 个 viewModel 对象,或者选择的 viewModel 的数量等于 viewModel 的总数,此信号将告诉命令启用。
我可以创建一个 RACSequence,它将为我提供此代码选择的 viewModel 对象:
RACSequence *selectedViewModels = [[self.viewModels.rac_sequence
filter:^BOOL(ViewModel *viewModel) {
return viewModel.isSelected == YES;
}]
map:^id(ViewModel *viewModel) {
return viewModel;
}];
我将如何创建有效信号?