Featured image of post 别再这样写了:guard let `self` = self else { return },这个bug已经修复了!

别再这样写了:guard let `self` = self else { return },这个bug已经修复了!

Swift 4.2之前,self 是全局保留关键字,所以如果在逃逸闭包中把 self 标记为 weak 后,还想继续使用 self 就需要使用两个 ` 将 self 包起来:

1
guard let `self` = self else { return }

而在 Swift 4.2 之后,基于 Allow using optional binding to upgrade self from a weak to strong reference 提案,可选绑定中的 self 不再作为保留关键字。我们完全可以光明正大的这么写了:

1
guard let self = self else { return }

参考链接

Built with Hugo
主题 StackJimmy 设计