这是一套用于对 Foundation 数据结构执行并发映射和过滤操作的类别,目前支持 NSArray
、NSDictionary
、NSSet
、NSOrderedSet
和 NSMapTable
(目前仅支持在 OS X 上)。
使用 Grand Central Dispatch 的 dispatch_apply
实现并发。默认情况下,操作在默认优先级的全局并发队列(DISPATCH_QUEUE_PRIORITY_DEFAULT
)上运行。操作可以在任何并发队列上执行,请参阅类别头文件。
该库基于 @alloy 和 @seanlilmateus 的代码和想法创建。因为我们不知道存在实现,所以我们才创建了它。
以下是 测试 中的示例。
数组值加倍
NSArray *doubled = [numbersArray cco_concurrentMap:^(NSNumber *number) {
return @(2 * number.unsignedIntegerValue);
}];
从字典中过滤出偶数
NSDictionary *filtered = [numbersDictionary cco_concurrentFilter:^BOOL (NSNumber *number) {
return number.unsignedIntegerValue % 2 == 1;
}];
并发集合操作在 MIT 许可协议下发布。请参阅 LICENSE.txt。