Swift 代理与闭包的使用

1.Delegate 代理就是自己不想干,通过别人帮你干
2.Closure 闭包也可以了解为一种特殊代理,一种函数式编程形式

*使用场景:

Delegate 一般使用在行为上
Closure 一般用来实现前后两个控制器的反向传值

代理回传
闭包回传
闭包还可以用于: 自定义 View 与 ViewController 之间
CustomView.swift
 class ModalView: UIView {
 var closeButtonBlack: (() -> Void)? //1 声明闭包 - 无参数类型

     ...........
     .....

@IBAction func closeButton(sender: UIButton) {
  self.closeButtonBack?() // 2
 
}
}
ViewController.swift
    //3 使用例子
    let myView = CustomView()
myView.closeButtonBack = ({() -> Void in
  print("666666")
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 以下翻译自Apple官方文档,结合自己的理解记录下来。翻译基于 swift 3.0.1 原文地址 Closure...
    艺术农阅读 5,519评论 0 3
  • 感恩董世鹏的支持让事情有顺利的推进,感恩权先生能够一直的支持陪伴,想到我。感恩朋友来上海相聚。感恩金刚智慧种子法则...
    日精进_a07d阅读 1,033评论 0 3
  • 依稀记得刚入研究生生活,茫然失措,看着其他人忙碌的身影,无所适从,于是默默看书,很多书回头看看,好像并没有用,却潜...
    傲七阅读 1,547评论 0 0