码迷,mamicode.com
首页 > 编程语言 > 详细

SWIFT——闭包表达式

时间:2015-11-15 16:21:27      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

闭包,可以理解为使用花括号括起来的一段代码。

 

下面的都属于闭包

 

全局函数

嵌套函数

闭包表达式

 

闭包表达式可以用来简化代码,使代码更简洁

1 var names = ["Mike","John","Mary","Tom","Bill"]
2 
3 func sortFun(s1:String, s2:String) -> Bool
4 {
5        return s1 < s2
6 }
7 
8 sort(&names, sortFun)          //sort函数后一参数表示排序的方法,采用了一个函数形式定义方法
9 println(names)       //Bill, John, Mary, Mike, Tom

下面用闭包表达式来简化 

闭包表达式:

1 /*
2 {
3        (parameters) -> returnType in statements
4 }
5 */
 1 // 第1步
 2 
 3 sort(&names, {(s1:String,s2:String) -> Bool in return s1 < s2})
 4 
 5 //第2步
 6 
 7 sort(&names,{(s1,s2) -> Bool in return s1 < s2})
 8 
 9 //第3步
10 
11 sort(&names,{(s1,s2) in return s1 < s2})
12 
13 //第4步
14 
15 sort(&names,{(s1,s2) in s1 < s2})
16 
17 //第5步
18 
19 sort(&names,{$0 < $1})
20 
21 //第6步
22 
23 sort(&names, <)

最终可以简化成为sort(&names,<)这里swift除了<号无法推断出来,其他的值都可以根据sort所比较的内容进行推断。

 

SWIFT——闭包表达式

标签:

原文地址:http://www.cnblogs.com/zhuzhubjtu/p/4966659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!