没看懂是正常的,这句话应该是机翻的。原文是:Storage: Storing the closure to a global variable, property, or any other bit of storage that lives on past the function call means the closure has also escaped.
大意是:将闭包直接存在为全局变量或实例属性或任何其他存储形式(比如存储全局的数组之类等),这意味着这个闭包的生命周期超出当前函数,那么这类闭包就是逃逸闭包。举例:
func doSomething(array:[Int], handler: @escaping ((Int)->Void)) {
// handler以属性的方式存储,那么必须用@escaping声明为逃逸闭包
self.complitionHandler = handler
}
尝试理解Swift中的@escaping要理解@escaping,首先需要理解closure, 要理解closure,首先理解匿名函数。 先理解匿名函数 要在Swift中构造匿名函数,需要: 创建函数体,包括花括号...