Swift @escaping @ noescaping 逃逸闭包与非逃逸闭包

闭包只有在函数中做参数时才会区分逃逸闭包和非逃逸闭包。 Swift 3.0之后,传递闭包到函数中的时候,系统会默认为非逃逸闭包类型(NonescapingClosures)@noescaping,逃逸闭包在闭包前要添加@escaping关键字。 从生命周期看两者区别: 非逃逸闭包的生命周期与函数相同: 1,把闭包作为参数传给函数; 2,函数中调用闭包; 3,退出函数。结束 逃逸闭包的生命周期: 1
相关文章
相关标签/搜索