Since Wolf and Michael’s posts, the old
RXMapthat took a second argument as the collection to fold the mapped results into is gone. In its place is an
RXMapwhich returns an object conforming to
NSFastEnumerationinstead of an instance of a collection class.
RXMapis dead; long live
The latter two benefits can be summed up as lazy evaluation and streaming. Enumerating a long chain of maps with a
for(in)loop will only take as much CPU time and memory as is required for each stage to complete, and the results will be processed as soon as they’re available, rather than waiting for each stage to complete before going on to the next. All this without threads or asynchrony!
It’s tricky to get
NSFastEnumeration right, especially with ARC, but his framework hides much of the messiness—and it sounds like a future version will hide more.