美文网首页Swift
swift中的block

swift中的block

作者: MeteorCode | 来源:发表于2017-10-09 18:07 被阅读1287次

    在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("这里使用传过来的值")

    }

    相关文章

      网友评论

        本文标题:swift中的block

        本文链接:https://www.haomeiwen.com/subject/ipnxcxtx.html