swift中的断言和前置条件参数

时间:2018-03-31 17:55:48

标签: swift assert

根据Apple文档assert中的定义,precondition具有以下签名:

assert(_:_:file:line:) 
precondition(_:_:file:line:)

但是在编程时我没有找到使用fileline参数的方法。他们为什么实际使用?虽然条件失败但我在控制台中找不到任何文件或行号。

1 个答案:

答案 0 :(得分:2)

这两个参数是swift编译器默认的,因此您不需要为它们提供任何值。实际上,您不应该提供它们以避免错误的报告。

以下是如何报告先决条件失败的示例:

Precondition failure

请注意文件名MyPlayground.playground和行号5是如何自动填写的。