Swift闭包的函数嵌套

2019-10-15  本文已影响0人  老包黑黑

一:新建闭包

```

importUIKit

// 蓝牙详情闭包

typealiasshowBleDetail = (_name:String,_uuid:String)->Void

classDiscoverCell:UITableViewCell{

    // 点击蓝牙详情...

    varclickBleInfo:showBleDetail?

}

```

二:将闭包作为参数传给函数

```

/**

     non-escaping:非逃逸型,闭包生命周期和函数相同,退出函数则结束

     escaping    :逃逸型, 生命周期长,与函数异步,明确何时调用了该闭包再使用    

 */

    publicfuncdoShowInfo(infoBlock:@escapingshowBleDetail){

        clickBleInfo= infoBlock

    }

```

注意:swift3.0默认为

三:调用函数

在事件响应方法中调用该函数,类似于OC的if(Block){Block()}

事件调用

```

 @objcfuncshowSelectedDeviceInfo(sender:UIButton) {

        // 闭包响应...

        clickBleInfo!("boris","******")

    }

```

外部调用函数响应闭包:

```

  cell.doShowInfo{ (name, uuid)in

           print("peripheralName:\(name), peripheralUUID:\(uuid)")

        }

```

上一篇 下一篇

猜你喜欢

热点阅读