Swift编程:函数引用、选择器与变量详解
1. 函数引用
在编程中,有时会遇到同名但参数不同的函数。例如,有两个 bark 函数,一个参数是 Bool 类型,另一个参数是 Int 类型。此时,可以通过函数签名来明确具体使用哪个函数:
let barkFunction = bark as (Int) -> Void // "times", not "loudly"
1.1 函数引用作用域
在之前的函数引用示例中,通常不需要告诉编译器函数的定义位置,因为函数在引用出现的地方已经在作用域内。但函数引用也可以提供函数定义位置的更多信息,有时甚至必须这样做。可以使用点符号为函数引用添加实例或类前缀。
例如,在某些情况下,编译器会强制使用 self 来调用函数,此时引用函数也需要使用 self :
class Dog {
func bark() {
}
func bark(_ loudly:Bool) {
}
func test() {
let f = {
return self.bark(_:) // self required here
}
}
}
要形成对另一种类型实例方法的函数引用,有两种选
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



