在Swift中正确使用defer

时间:2017-05-19 06:18:40

标签: swift

我的代码看起来像这样,效果很好,但我想知道我使用true的方式是否正确。

defer

我知道它应该用于元素的释放。

1 个答案:

答案 0 :(得分:3)

从语法上讲,是的,它是正确的。但这是defer的预期用途的错误应用。

它不应该像你正在做的那样优雅地失败,因为你正在执行没有“清理”范围的逻辑,但它是函数逻辑流程的一部分。 (以及你将如何测试?)

defer的用途是确保清理所有内容并简化可读性。在defer内执行这种逻辑会使其失败。