Swift中defer的使用

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

使用场景

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

你可能感兴趣的:(Swift中defer的使用)