CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✗ |
| LangLanguage | Obj-CObjective C |
| License | BSD |
| ReleasedLast Release | May 2014 |
Maintained by Unclaimed.
map, filter, fold, and detect for Cocoa collections, with as little chaff as possible.
In short:
#import "RXCollections.h"
…
[people rx_mapWithBlock:^(id each) { return [each phoneNumber]; }];
[ungulates rx_filterWithBlock:^(id each) { return [each stomachCount] == 4; }];
[stringsToConcatenate rx_foldInitialValue:@"" withBlock:^(id memo, id each) { return [memo stringByAppendingString:each]; }];
[collection rx_detectWithBlock:^(id each) { return [[each name] isEqualToString:@"Richard Feynman"]; }];
Currently, RXCollections will create sets when mapping or filtering sets, or arrays when mapping or filtering anything else. Your collections can map/filter to other types by implementing +rx_emptyMutableCollection. One-off maps and filters into other collections can be done with the …IntoCollection: variants.
Anything that conforms to the NSFastEnumeration protocol can be traversed. This includes arrays, sets, dictionaries, enumerators, and any third-party classes which conform to the protocol.
More documentation is available in RXCollections.h.
The included Xcode target compiles a static archive, but there’s no real need to use it; you can just link RXCollections.m in directly and #import "RXCollections.h". I would recommend this approach, as static archives are a pain.