Swift - 34 - 闭包的基础语法

//: Playground - noun: a place where people can play

import UIKit

// 初始化一个整数数组
var arr = [1, 3, 5, 7, 8, 10, 12, 2, 0, 11, 9]
// 排序, 默认是从小到大排序
arr.sort()
// 通过闭包, 自定义排序方法
arr.sort({(a: Int, b: Int) -> Bool in
    return a > b
})

// 初始化一个字符串数组
var arr2 = ["aa", "b", "bb", "abcd", "aabbcc", "cdefg", "a", "c"]
// 排序, 按字符串长度排序, 如果长度相等, 就比较两个字符串
arr2.sort({(string1: String, string2: String) -> Bool in
    
    let string1Length = string1.characters.count
    let string2Lenght = string2.characters.count
    
    if string1Length != string2Lenght { // 长度不相等
        return string1Length < string2Lenght
    } else {                            // 长度相等
        return string1 < string2
    }
})

简单的说下闭包的语法:

{(参数) -> 返回类型 in 函数体}

posted @ 2016-01-31 11:18  Rinpe  阅读(207)  评论(0编辑  收藏  举报