学习Swift:闭包
嗨,大家好!
我决定我也想发布一些我在编程时学到的概念。 对于那些不知道的人,我是一名软件工程师,目前专注于在Android中构建移动应用程序。 但是,我喜欢iOS,自2014年以来一直在Swift中制作应用。
这将简短明了,将来我可能会对此进行扩展。
什么是封包?
闭包是可以像变量一样传递的函数。 一种将闭包视为持有函数的类型的方法,即字符串,整数,双精度型。
了解功能也很重要。 函数是在Swift中使用func关键字定义的代码块。 函数可以采用并返回无,一个或多个参数。
为什么使用它们?
因为它们使用简单的语法,所以可以使代码更整洁并易于阅读。 它们还使您可以以一种不太复杂的方式灵活地重用代码。 通过降低复杂性,这也使您的代码更易于调试。
我该如何写闭包?
这是闭包的几种形式:
var noParametersOrReturn:()->()= {
打印(“无参数或返回类型”)
}
var noParametersReturnString:()->字符串= {
返回“无参数,返回字符串”
}
如果闭包是函数的最后一个参数,则尾随闭包允许您简化语法。
func sayHiAndRunClosure(name: String, closure: () -> ()) {
print("Hi, \(name)!")
closure()
}
sayHiAndRunClosure(name: "Mary") {
print("The closure was ran!")
}
有一个更短的语法。 闭包参数可以按位置($ 0,$ 1,…)而不是名称进行引用。
设数字= [1,1,2,5]
让奇数=数字。过滤器{$ 0%2 == 1}
让名字= [“乔”,“詹姆斯”,“乔恩”,“杰米”]
let even = names.filter {$ 0.characters.count> 3}
将闭包作为参数,对数组的每个元素执行闭包。
有哪些用例?
例如,假设您有一个耗时的任务,并且希望在完成时运行一段代码。 使用闭包,您可以将函数作为变量接受,以在任务完成后调用。
即网络请求 -从服务器获取数据并更新UI
即用户触摸事件 -在触摸事件(轻击,拖动,挤压)之后运行一段代码
就是这样! 闭包快速概览。 我希望继续提供更多内容,如有任何建议或改进,请在下面评论。
照顾自己。
-罗德尼