美文网首页
[004]Swift 闭包 Closure 的使用

[004]Swift 闭包 Closure 的使用

作者: 快乐捣蛋鬼 | 来源:发表于2019-06-26 20:24 被阅读0次

参考:http://www.hangge.com/blog/cache/detail_809.html

1.使用sort方法和闭包进行数组排序

let numbers = [5,76,4,1,3]

let sortedNumber = numbers.sorted { (n1: Int, n2: Int) -> Bool in
    // 从小到大排序
    return n1 < n2
}

print(sortedNumber) // [1, 3, 4, 5, 76]

2.闭包可以不用指定参数类型,编译器会帮我们推断的

let numbers = [5,76,4,1,3]

let sortedNumber = numbers.sorted { (n1, n2) in
    // 从小到大排序
    return n1 < n2
}

print(sortedNumber) // [1, 3, 4, 5, 76]

3.还可以省略参数名,直接根据数字来引用每个参数$0,1,2...

let numbers = [5,76,4,1,3]

let sortedNumber = numbers.sorted {
    // 从小到大排序
    return $0 < $1
}

print(sortedNumber) // [1, 3, 4, 5, 76]

4.如果闭包只包含一行代码,可以省略return关键字

let numbers = [5,76,4,1,3]

let sortedNumber = numbers.sorted {
    // 从小到大排序
    $0 < $1
}

print(sortedNumber) // [1, 3, 4, 5, 76]

5. 换个行

let sortedNumberA = numbers.sorted { $0 < $1 }

6.闭包也可以存储在变量中,像调用函数一样调用它们

let comparator = {(a: Int, b: Int) in a < b }
comparator(4,2)  // false

相关文章

  • [004]Swift 闭包 Closure 的使用

    参考:http://www.hangge.com/blog/cache/detail_809.html 1.使用s...

  • 100 Days of SwiftUI - Day 6&7 Cl

    Closure 闭包 1.创建基本的闭包 Swift 使我们可以像使用其他类型一样使用函数,你可以创建一个函数并将...

  • 2018-07-04

    原文译文 名词解释: Block: Objective-C/Swift中对闭包(closure)的实现,广泛使用在...

  • Swift5.0 - day4-闭包、属性、方法、下标

    一、闭包 1.1、闭包表达式(Closure Expression)在 Swift 里面可以通过函数 func 定...

  • php之闭包函数(Closure)

    php闭包函数(Closure) JS闭包 js和php闭包使用和区别

  • swift - 闭包基础

    闭包 closure 闭包在Swift中应用广泛,在许多系统库方法中都能看到。 无名本质是函数使用时注意循环引用 ...

  • Swift4 闭包及其应用

    闭包 closure 闭包在Swift中应用广泛,在许多系统库方法中都能看到。 无名 本质是函数 使用时注意循环引...

  • Swift 5.3 - SE-0279 Multiple Tra

    在最初 Swift 的定义中,当方法的最后一个参数为闭包时,称该闭包为尾随闭包(trailing closure)...

  • Swift 闭包

    @Author Swift 闭包(Closure) 闭包是一种可以在代码中作为参数传递,自含的功能块。 闭包类似于...

  • Swift closure闭包

    究竟什么是Closure? 说的通俗一点,一个函数加上它捕获的变量一起,才算一个closure //MARK: -...

网友评论

      本文标题:[004]Swift 闭包 Closure 的使用

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