swift(闭包)

定义闭包属性
 var block02 = {
        (str1:String,str2:String)in
       //TODO:Do something
    }

func myblock(str:String) -> Void {
    
}
var block03:(String)->Void = myblock

或直接构建

var block06:((String)->Void)!
let blvc = BlockVC()
 blvc.block02 = {
                (str:String,str2:String) in
               
                print(str+str2)
            
            }
 blvc.block03 = {
                (str:String) in
                
                print(str)
                
            }
 blvc.block06({ (str) in
                print(str)
                
            })
闭包函数
  func block01(str:String,block:(String) -> Void) ->Void {
        print(str)
        block("这是block")
    }
调用
blvc.block01(str:"传值", block: { (str) in
                
                print("读取block回调的东西\(str)")
                
            })
逃逸闭包(@escaping)
    /// 定义可以逃逸闭包的block的函数
    /// - Parameters:
    /// - str: 传入值
    /// - block: block
    func block04(str:String,block:@escaping(String)-> Void) -> Void {
       print(str)
       self.block05 = block//@escaping可以让block的指向跳出函数
    
    }

调用

     blvc.block04(str:"第四种block使用", block: { (str) in
                print(str)
            })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 感觉有点难懂,可以参考https://www.jianshu.com/p/49e7a29a2698 闭包是自包含的...
    CDLOG阅读 3,846评论 0 0
  • 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift 中的闭包与 C 和 Objective-C 中的代...
    穷人家的孩纸阅读 5,687评论 1 5
  • Swift 中的闭包是自包含的函数代码块,可以在代码中被传递和使用。类似于OC中的Block以及其他函数的匿名函数...
    乔克_叔叔阅读 3,462评论 1 3
  • 在OC中存储一段代码块可以使用Block,而对于Swift中也有相应的对照用于存储代码块这个就是今天所说的闭包,在...
    Mr_yinwei阅读 2,738评论 0 0
  • 闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用。 这被称为关闭这些常量和变量。 Swift处理所有的...
    Joker_King阅读 3,685评论 0 2

友情链接更多精彩内容