import Cocoa let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"] func backwards(s1:String,s2:String) -> Bool{ return s1 > s2 } sort(names,backwards)
上面的必包是用来排序的。必包的定义形式为:
{ (parameters) -> returnType in statements }
捕获值
func makeIncrementor(forIncrement amount: Int) -> () -> Int { var runningTotal = 0 func incrementor() -> Int { runningTotal += amount return runningTotal } return incrementor }
makeIncrementor函数,包含了一个叫做incrementor嵌套函数。 嵌套函数incrementor从上下文中捕获了两个值,runningTotal和amount。 之后makeIncrementor将incrementor作为闭包返回。 每次调用incrementor时,其会以amount作为增量增加runningTotal的值。
let incrementByTen = makeIncrementor(forIncrement: 10)
我们对返回的必包进行调用
incrementByTen() // 返回的值为10 incrementByTen() // 返回的值为20 incrementByTen() // 返回的值为30
我们在进行调用
let incrementBySeven = makeIncrementor(forIncrement: 7) incrementBySeven() // 返回的值为7 incrementByTen() // 返回的值为40
上面的例子中,incrementBySeven和incrementByTen是常量,但是这些常量指向的闭包仍然可以增加其捕获的变量值。 这是因为函数和闭包都是引用类型。
相关推荐
Swift包管理器的命令行界面
swift安装部署过程中需要使用的相关文件包
iOS 自动打包
swift 学习要点,可以拿来做工具书,,随时查阅.文档是swift3版本的,包含了许多swift的小技巧
switf 学习资源打包,内有六本swift相关书籍,欢迎下载
java解析swift报文所需jar,可以用来解析Swift报文等客户对账单信息 java解析swift报文所需jar,可以用来解析Swift报文等客户对账单信息 java解析swift报文所需jar,可以用来解析Swift报文等客户对账单信息 java解析...
iOS 自动编译打包shell脚本
SwiftyJSON 可以让你在 Swift 语言中更好的处理 JSON 数据。示例代码:let jsonObject : AnyObject! = NSJSONSerialization.JSONObjectWithData(dataFromTwitter, options: NSJSONReadingOptions....
Swift开发者必备Tips--第四版,其中包含epub,pdf,mobi格式电子书和playground文件,本书所有示例代码都可以在https://github.com/swifter-tips/Playground查看
AutoPackage - iOS项目自动打包脚本
想要学习swift,可以下载,练手,或者看下学习。应用是仿今日头条。
最新 疯狂Swift讲义 配套书光盘 打包下载
原OC项目用swift实现,纯swift项目,可作为学习swift的demo,包含多个自定义控件,并且进行封装网络请求库,结构清晰。
一个 Mac App,用于 Apk 多渠道打包
OC/Swift分段选择,当前ios背景下谁还不用点混编呢?今天提供一份Swift编写,OC通用的分段选择器,支持纯文字、图片、文字图片混排等方式,同时可以实现多级联动效果。希望能够帮到有需要的童鞋,谢谢!有问题可以加...
swifter必读好书,包含无数细节.100个也比较全面
自动选择加载“壳应用”/“真应用”的简单框架
XLDotLoading 新浪微博的红包加载动画,过年在家里抢红包看到这个效果,就顺手仿照着写了一下。主要还是利用余弦函数曲线的特性实现的。
SwiftHTTP 简单封装了 Swift 语言中的 NSURLSession ,简化了 HTTP 请求操作。 示例代码: var request = HTTPTask() request.GET("http://www.oschina.net/", parameters: nil, success: {(response: ...
TPFDebugTool 一个iOS 端的网络抓包工具