Swift中defer的使用

defer语句在代码块(方法、闭包等,可以理解为大括号括起来的代码)作用域退出之前执行。
一个代码块允许有多个defer,多个defer的执行顺序从后向前。
defer的作用范围不能简单的看成方法,而是代码块。

使用场景

资源在用完后需要释放,在开始用到资源的时候就调用defer去释放,避免忘记释放资源。
加锁解锁,在加锁后就调用defer去解锁,避免忘记解锁。
处理代码块结束前的一些重复操作,比如网络请求数据的回调,成功和失败都需要回调,而且可能回调都会涉及一堆代码,使用defer既可以解决代码冗余,又可以解决忘记回调的问题。

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

相关阅读更多精彩内容

  • Swift 中 defer 的介绍与使用场景 用defer语句在即将离开当前代码块时执行一系列语句。该语句让你能执...
    没有格子衫阅读 1,745评论 0 2
  • 看看苹果官方的介绍 用 defer 语句在即将离开当前代码块时执行一系列语句。该语句让你能执行一些必要的清理工作,...
    Hamiltion阅读 1,537评论 0 1
  • defer:defer中的代码将延迟至当前作用域结束之前执行注意:必须有执行到defer,才会触发defer。如果...
    萤火驻守心间阅读 3,169评论 0 13
  • 最近在 swift 文档中,发现了defer这个关键字,本人抱着学习态度,查看了一些资料,把我所知道的知识和技能点...
    一眼万年的星空阅读 1,358评论 0 2
  • 本文开启 linux 内核 V4L2 框架部分的学习之旅,本文仅先对 V4L2 的框架做一个综述性的概括介绍,然后...
    yellowmax阅读 7,855评论 0 13

友情链接更多精彩内容