Swift

swift中的block

2017-10-09  本文已影响1287人  MeteorCode

在OC中习惯用block来传值,而swift中,block被重新定义了一下,叫闭包;

使用的技巧:谁定义谁传值;

案例使用A、B控制器:

一二三四步在B中执行,五步在A中执行;

第一步:  定义

格式: typealias 闭包名称 = (参数名称: 参数类型) -> 返回值类型

typealias  block = (str: String) -> void

第二步: 声明

var callBack = block?()

第三步: 赋值

比OC多了这一步!!

需要定义一个方法,参数是和block类型一致得闭包,并赋值给block

func callBackFunction ( block: (str: String) -> Void ) {

      callBackBlock = block

}

第四步: 传值

func buttonClick () {   //需要传值的方法

    if callBackBlock != nil {

        callBackBlock!( "传这个值给A")    //注意,这里是使用属性传值,不是方法

     }

}

第五步: 使用

B.callBackFunction { (str) in

      print("这里使用传过来的值")

}

上一篇下一篇

猜你喜欢

热点阅读