我不得不问这个,因为:我唯一认识到的是,如果断言失败,应用程序就会崩溃。这就是为什么要使用 NSAssert 的原因吗?或者它还有什么好处?将 NSAssert 放在我在代码中所做的任何假设之上是否正确,例如一个永远不应该接收 -1 作为参数但可以接收 -0.9 或 -1.1 的函数?

最佳答案

断言是为了确保一个值是它应该是什么。如果断言失败,则意味着出现问题,因此应用程序退出。使用 assert 的一个原因是,如果您有一些函数不会运行或会产生非常糟糕的副作用,如果传递给它的参数之一不完全是某个值(或一系列值),您可以放置​​一个断言确保该值符合您的预期,如果不是,则说明确实有问题,因此应用程序将退出。断言对于调试/单元测试非常有用,而且当您提供框架来阻止用户做“邪恶”的事情时也是如此。

关于ios - 实际上,NSAssert 的意义何在?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1375786/

10-13 03:56