Collection extensions for Objective-C. (ARC environment)
-
NSArray
-
NSDictionary
-
NSSet
This extension provides following tasks for supported collection classes.
each
map
reduce
select
reject
- Ruby
- For 'CocoaPods'
- Bundler
- RubyGems
- Test
- Expecta (~> 1.0)
Add following one line to your Podfile
.
pod 'CocoaFn', :git => 'https://github.com/kmhjs/CocoaFn.git', :branch => 'develop'
bundle install --path=./bundle/install
bundle exec pod install
After these steps, you can try with CocoaFn.xcworkspace
.
[self.stringTestSet each:^(NSString *element) {
[result addObject:element];
}];
self.stringTestSet.each(^(NSString *element) {
[result addObject:element];
});
[self.stringTestSet map:^id(id element) {
return [NSString stringWithFormat:@"element = %@", (NSString *)element];
}];
self.stringTestSet.map(^id(id element) {
return [NSString stringWithFormat:@"element = %@", (NSString *)element];
});
[self.numberTestSet reduce:@(0) fn:^id(NSNumber *accumlator, NSNumber *element) {
return @([accumlator floatValue] + [element floatValue]);
}];
self.numberTestSet.reduce(@(0), ^id(NSNumber * accumlator, id element) {
return @([accumlator floatValue] + [element floatValue]);
});
[self.numberTestSet select:^BOOL(NSNumber *element) {
return [element floatValue] > 3;
}];
self.numberTestSet.select(^BOOL(NSNumber *element) {
return [element floatValue] > 3;
});
[self.numberTestSet reject:^BOOL(NSNumber *element) {
return [element floatValue] <= 3;
}];
self.numberTestSet.reject(^BOOL(NSNumber *element) {
return [element floatValue] <= 3;
});
[[self.numberTestSet map:^id _Nonnull(NSNumber * _Nonnull element) {
return @([element floatValue] * 10);
}] select:^BOOL(id _Nonnull element) {
return [element floatValue] > 30;
}];
self.numberTestSet.map(^id _Nonnull(NSNumber * _Nonnull element) {
return @([element floatValue] * 10);
}).select(^BOOL(id _Nonnull element) {
return [element floatValue] > 30;
});
See LICENSE
.