iOS 中的高阶函数

2021-03-28  本文已影响0人  Janyau

前言

学习了前端 JavaScript 后,对其中的高阶函数那是赞叹不已。其中很多的思想其实在整个大前端是相通的、是可以借鉴的。因此特意将对应的高阶函数搬运到 iOS 平台,不仅可以简化代码,还可以提高 iOS 的开发效率,下面就举几个跟数组相关的典型例子。

Example

查看动画

NSString *findItem = [list find:^BOOL(NSString * _Nonnull item) {
    return [item isEqualToString:@"3"];
}];
BOOL isVerifySome = [list some:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
BOOL isVerifyEvery = [list every:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
NSArray *filterList = [list filter:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
NSArray *mapList = [list map:^id(NSString * _Nonnull item) {
    NSNumber *obj = [NSNumber numberWithInteger:item.integerValue];
    return obj;
}];
fnBlock test = [NSObject debounceWithBlock:^{
    NSLog(@"***********debounce*************");
} waitTime:3.0];
test();
test();

代码已经托管到github

上一篇 下一篇

猜你喜欢

热点阅读