gpt4 book ai didi

swift - Swift 中的断言

转载 作者:搜寻专家 更新时间:2023-10-31 08:34:13 26 4
gpt4 key购买 nike

我在 Swift 中测试了断言,但我有点困惑。你能给我解释一下 assertassertionFailurefatalError 函数之间的区别吗?

我知道 @noreturn 属性(nicely explained by Seven Oglesby),但我不明白,这些函数何时被评估以及何时被忽略。

函数 assertfatalError 只在 Debug模式下发生,我测试了这个行为,它是真的。但是 assertionFailure 也会在发布配置中停止程序。在文档中保留:

A fatal error occurred and program execution should stop in debug mode. In optimized builds this is a noop.

那我就不明白了,为什么不忽略这个方法在非 Debug模式下的求值。有没有人对此有任何经验?

最佳答案

实际上,assert 仅在 Debug模式下计算,但无论配置如何,都会发生 fatalError。这是故意的。

但是,无论配置如何,assertionFailure 都会发生,尽管您引用了文档。据我所知,assertionFailure 的行为不正确,或者文档不正确。

关于swift - Swift 中的断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28394173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com