闭包的定义与使用

Posted alineware

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了闭包的定义与使用相关的知识,希望对你有一定的参考价值。

闭包的定义

  • 闭包应该定义在 main 里面还是定义tabBar 里面?

    定义在 main 里面

    点击tabBar 里面的按钮,让这个闭包回调到 main 里面, 让 main里面 viewController 去做事情 //这里是没有循环引用的
    类 delegate 的弱引用, 所以定义闭包对象用到 self 不需要使用避免循环引用

  • 闭包的执行

    闭包定义在 main 里面, 让这个闭包传到 tabBar 里面才能执行

    在tabBar 里面定义一个参数/属性/对象(类 delegate 对象)去接受传入进来的闭包

  • 流程
  1. 闭包属性/对象
  2. 执行(按钮的点击事件)
  3. 定在是在 main 的 viewController 里面

    hmTabBar.composeButtonClick = {print("我是闭包回调过来的")} //闭包的接受/定义
    这里是有循环引用的
    [unowned self]

以上是关于闭包的定义与使用的主要内容,如果未能解决你的问题,请参考以下文章

Groovy闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )

Go 匿名函数与闭包的使用

闭包函数

JavaScript高级内存管理与闭包:垃圾回收GC闭包定义访问和执行过程内存泄漏

JavaScript函数,作用域以及闭包

闭包函数,装饰器