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