美文网首页
Swift闭包 gekaand

Swift闭包 gekaand

作者: AAup | 来源:发表于2016-05-18 10:57 被阅读14次

闭包基础格式 :
{
(参数:类型) ->返回类型 in
执行方法
return 返回类型
}
说明:
1;闭包主要指向函数类型
2:闭包的参数必须和函数类型的参数和返回值一致

//这是我们的model
class students  {
var studentsName = String()
var studentsID = Int()
}

//使用
var student : [students] = []
student.sort({ $0.fileID > $1.fileID })//匿名函数实例

//下面是闭包的简化使用
// 一般的代码形式
student.sort({ (student1: students, student2: students) -> Bool in return student1.studentsID > student2.studentsID })

// 省略(->)的形式
student.sort({ student1, student2 in return student1.studentsID > student2.studentsID })

// 去掉return的简单闭包形式
student.sort({ student1, student2 in student1.studentsID > student2.studentsID })

// 隐藏参数的形式
student.sort({ $0.studentsID > $1.studentsID })

捕获

Snip20160518_3.png

func addHandler(set:Int) -> ()->Int {
var sum = 0
return{
sum+=set
return sum
}
}
//同一个闭包里的数值是累积的

let addByTen = addHandler(10)

print(addByTen())//10
print(addByTen())//20
print(addByTen())//30

//addBySix 与addByTen 属于不同的闭包对象, 所以是从零开始
let addBySix = addHandler(6)

print(addBySix())//06
print(addBySix())//12
print(addBySix())//18

相关文章

  • Swift闭包 gekaand

    闭包基础格式 :{(参数:类型) ->返回类型 in执行方法return 返回类型}说明:1;闭包主要指向函数类...

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • Swift闭包和函数

    函数在Swift中只是一种特殊的闭包,闭包在Swift语言中是一等公民,支持闭包嵌套和闭包传递。Swift中的闭包...

  • swift4 闭包

    swift 闭包 闭包:swift 中 函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数) -- 能够捕获上下...

  • Swift中的闭包

    在Swift中有两种闭包,逃逸闭包(@escaping)和非逃逸闭包(@nonescaping)。从Swift 3...

  • 100 Days of Swift - Day 06 - 闭包(

    100 Days of Swift - Day 06 - 闭包Closures 6.1 闭包 Swift函数也属于...

  • swift学习

    * 闭包 * 闭包作为属性 ```swift // 声明闭包类型 typealias callba...

  • iOS swift 逃逸闭包(@escaping)和非逃逸闭

    iOS swift 逃逸闭包(@escaping)和非逃逸闭包 (@noescaping) 逃逸闭包: 逃逸闭包...

  • iOS&Swift&OC 闭包和Block的相互转化

    一、Swift的闭包 -> OC的block 二、OC的block -> Swift的闭包

  • swift闭包学习

    闭包作为参数 参考 Swift学习之闭包

网友评论

      本文标题:Swift闭包 gekaand

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