例如:
我想实现这样的效果
if(condition){
return [self getObjectArraySignal:page];
}else{
@weakify(self)
return [[self getObjectArraySignal:page] flattenMap:^RACStream *(NSMutableArray *resultArray) {
@strongify(self)
return [self getCommentCountsSignal:resultArray];
}];
}
把这段代码合并成一行代码,即条件满足则不执行flattenMap操作,不满足则执行flattenMap操作。
(1)filter过滤的是结果,而不是操作;
(2)[RACSignal if:<#(RACSignal )#> then:<#(RACSignal )#> else:<#(RACSignal *)#>];是静态方法,也不满足我的需要;
如有好的解决方案,请告诉我,不胜感激。
你用三元表达式就是一行了。按照你的这个代码来讲,不要再强行上RAC了。Make it simple。