美文网首页
iOS 中的高阶函数

iOS 中的高阶函数

作者: Janyau | 来源:发表于2021-03-28 21:41 被阅读0次

前言

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

Example

查看动画

  • Find
    找到第一个满足测试函数条件的元素并返回那个元素的值,如果找不到,则返回 nil。
NSString *findItem = [list find:^BOOL(NSString * _Nonnull item) {
    return [item isEqualToString:@"3"];
}];
  • Some
    如果数组中至少有一个元素满足测试函数条件,则返回 YES,否则返回 NO。
BOOL isVerifySome = [list some:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
  • Every
    如果数组中的每个元素都满足测试函数条件,则返回 YES,否则返回 NO。
BOOL isVerifyEvery = [list every:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
  • Filter
    将所有在过滤函数中返回 YES 的数组元素放进一个新数组中并返回。
NSArray *filterList = [list filter:^BOOL(NSString * _Nonnull item) {
    return item.integerValue > 3;
}];
  • Map
    返回一个由回调函数的返回值组成的新数组。
NSArray *mapList = [list map:^id(NSString * _Nonnull item) {
    NSNumber *obj = [NSNumber numberWithInteger:item.integerValue];
    return obj;
}];
  • Debounce
    如果函数一直调用,则不会立即执行该函数,而是等待一段时间后, 确定没有新的函数调用时,它才执行一次。
fnBlock test = [NSObject debounceWithBlock:^{
    NSLog(@"***********debounce*************");
} waitTime:3.0];
test();
test();

代码已经托管到github

相关文章

  • iOS 中的高阶函数

    [https://github.com/Janyau/HOFA] 前言 学习了前端 JavaScript 后,对其...

  • Kotlin 之旅5--高阶函数

    高阶函数的基本概念 类似于数学中的高阶函数f(g(x)),高阶函数的概念是: 在Kotlin中,函数可以自由传递、...

  • Kotlin 高阶函数详解

    高阶函数 在 Kotlin 中,函数是一等公民,高阶函数是 Kotlin 的一大难点,如果高阶函数不懂的话,那么要...

  • JavaScript之高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数?在数学和计算机科学中,高阶函数是至少...

  • Python笔记四 装饰器

    装饰器 = 高阶函数+函数嵌套+闭包 高阶函数 = 参数 or 返回值为函数 函数嵌套 = 在函数中定义函数 闭包...

  • ios高阶函数

    如果你开始接触函数式编程,你一定听说过高阶函数。在维基百科它的中文解释是这样的: 在数学和计算机科学中,高阶函数是...

  • Java 高阶函数

    一个高阶函数是指 一个函数使用函数作为参数或者执行完返回函数。在高阶函数教程中我将列举几个 Java 高阶函数的例...

  • python学习(三)函数式编程

    高阶函数 函数也是变量,函数参数为函数的函数,称作高阶函数 自定义高阶函数 内建高阶函数 map/reducema...

  • Swift 高阶函数

    高阶函数的定义: 在 Wikipedia 中,是这么定义高阶函数(higher-order function)的,...

  • Python | 高阶函数基本应用及Decorator装饰器

    一、高阶函数 理解什么是高阶函数?以及高阶函数的基本应用方法 ▲ 高阶函数 在了解什么是高阶函数之前,我们来看几个...

网友评论

      本文标题:iOS 中的高阶函数

      本文链接:https://www.haomeiwen.com/subject/qmemhltx.html