Swift闭包的函数嵌套

一:新建闭包

```

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)")

        }

```

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

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,916评论 1 32
  • 本章将会介绍 闭包表达式尾随闭包值捕获闭包是引用类型逃逸闭包自动闭包枚举语法使用Switch语句匹配枚举值关联值原...
    寒桥阅读 5,473评论 0 3
  • Swift 中的闭包是自包含的函数代码块,可以在代码中被传递和使用。类似于OC中的Block以及其他函数的匿名函数...
    乔克_叔叔阅读 3,486评论 1 3
  • 以下翻译自Apple官方文档,结合自己的理解记录下来。翻译基于 swift 3.0.1 原文地址 Closure...
    艺术农阅读 5,568评论 0 3
  • 生活中做事处事无处不需分寸!帮人也是。
    JoanXu阅读 3,025评论 0 0

友情链接更多精彩内容