【发布时间】:2013-08-17 18:02:03
【问题描述】:
假设我有一个数组信号arraySignal,和一个对象信号addedObjectsSignal。
我想定义第三个信号modifiedArraySignal,它从arraySignal 获取最新数组并将addedObjectsSignal 发送的对象添加到其中因为来自@987654326 的最新数组@。
这是一种方法:
RACSignal *modifiedArraySignal =
[[RACSignal
merge:@[arraySignal, addedObjectsSignal]]
scanWithStart:@[]
reduce:^(id running, id next) {
if ([next isKindOfClass:[NSArray class]])
return next;
else
return [running arrayByAddingObject:next];
}];
还有其他不使用-[NSObject isKindOfClass:] 的方法吗?
【问题讨论】:
-
我应该指出,这种方法在数组数组上会中断。
标签: reactive-cocoa