Swift 標準ライブラリ   >   デバッグとリフレクション   >   precondition(_:_:file:line:)
関数
precondition(_:_:file:line:)
前提条件に違反したことを示します。
宣言
パラメータ
condition | テストすべき条件。condition は -Ounchecked ビルドでは評価されません。 |
message | condition がプレイグラウンドまたは -Onone ビルドで false に評価された場合に印刷される文字列。デフォルトは空文字列です。 |
file | 前提条件が失敗した場合に、messaage とともに印刷されるファイル名。デフォルトは、 precondition(_:_:file:line:) が呼び出されたファイルです。 |
line | アサーションが失敗した場合に、messaage とともに印刷される行番号。デフォルトは、 precondition(_:_:file:line:) が呼び出された行番号です。 |
議論
この機能を使用して、出荷コードであってもプログラムが進行しないようにしなければならない条件を検出して下さい。
- プレイグラウンドと -Onone ビルド (Xcode のデバッグ構成のデフォルト)で。condition が false に評価された場合、message の印刷後にデバッグ可能な状態でプログラムの実行を停止します。
- -O ビルド (Xcode のリリース構成のデフォルト) では、condition が false に評価されると、プログラムの実行を停止します。
- -Ounchecked ビルドでは、condition は評価されませんが、最適化ツールは 常に それが true と評価されると想定することがあります。その前提を満たさないことは、重大なプログラミングエラーです。
以下も見よ
テスト
func assert(() -> Bool, () -> String, file: StaticString, line: UInt)
オプションのメッセージで伝統的な C スタイルのアサートを実行します。
func assertionFailure(() -> String, file: StaticString, line: UInt)
内部健全性チェックが失敗したことを示します。
func preconditionFailure(() -> String, file: StaticString, line: UInt)
前提条件に違反したことを示します。