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