Checks a necessary condition for making forward progress.
SDK
- Xcode 6.1+
Framework
- Swift Standard Library
Declaration
func precondition(_ condition: @autoclosure () -> Bool, _ message: @autoclosure () -> String = String(), file: Static String = #file, line: UInt = #line)
Parameters
conditionThe condition to test.
conditionis not evaluated in-Ouncheckedbuilds.messageA string to print if
conditionis evaluated tofalsein a playground or-Ononebuild. The default is an empty string.fileThe file name to print with
messageif the precondition fails. The default is the file whereprecondition(_:is called._: file: line:) lineThe line number to print along with
messageif the assertion fails. The default is the line number whereprecondition(_:is called._: file: line:)
Discussion
Use this function to detect conditions that must prevent the program from proceeding, even in shipping code.
In playgrounds and
-Ononebuilds (the default for Xcode’s Debug configuration): Ifconditionevaluates tofalse, stop program execution in a debuggable state after printingmessage.In
-Obuilds (the default for Xcode’s Release configuration): Ifconditionevaluates tofalse, stop program execution.In
-Ouncheckedbuilds,conditionis not evaluated, but the optimizer may assume that it always evaluates totrue. Failure to satisfy that assumption is a serious programming error.