reb*_*ebo 14
你可以试试FunctionalKit
FunctionalKit试图在Objective-C中使用功能范例.它是一组低级功能类型和API.它包含诸如选项等类型,允许您编写正确,干净,紧凑,简洁和(如果可能)类型安全代码.它还提供了更高级的概念,例如将函数提升为monad.
您还可以尝试OCTotallyLazy,它是Java库TotallyLazy的一个端口.
例如,映射NSArray可以按如下方式完成:
[array(@"one", @"two", @"three", nil) map:^(NSString *item){
return [item uppercaseString];
}];
// Returns array(@"ONE", @"TWO", @"THREE", nil)
Run Code Online (Sandbox Code Playgroud)
还有一组可用的宏,允许更短的语法,例如:
#define TL_LAMBDA_SHORTHAND
[array(@"one", @"two", @"three", nil) map:_([_ uppercaseString])];
// Returns array(@"ONE", @"TWO", @"THREE", nil)
Run Code Online (Sandbox Code Playgroud)
它还提供了自己的集合类型Sequence,它可以懒惰地评估地图,过滤器等.