Macro

NSAssert3

Generates an assertion if a given condition is false. 与えられた条件がfalseならば、アサーションを生成します。

Declaration 宣言

#define NSAssert3(condition, desc, arg1, arg2, arg3)

Parameters パラメータ

condition

An expression that evaluates to YES or NO. YESまたはNOに評価するある式。

desc

An NSString object that contains a printf-style string containing an error message describing the failure condition and placeholders for three arguments. あるNSStringオブジェクト、それはprintf形式の文字列を含み、失敗条件を記述しているエラーメッセージそして3つの引数に対するプレースホルダを含んでいます。

arg1

An argument to be inserted, in place, into desc. 挿入されることになるある引数、その場で、descへと。

arg2

An argument to be inserted, in place, into desc. 挿入されることになるある引数、その場で、descへと。

arg3

An argument to be inserted, in place, into desc. 挿入されることになるある引数、その場で、descへと。

Discussion 議論

The NSAssert3 macro evaluates the condition and serves as a front end to the assertion handler. NSAssert3マクロは、条件を評価します、そしてアサーションハンドラに対するフロントエンドとして奉仕します。

Each thread has its own assertion handler, which is an object of class NSAssertionHandler. When invoked, an assertion handler prints an error message that includes the method and class names (or the function name). It then raises an NSInternalInconsistencyException exception. If condition evaluates to NO, the macro invokes handleFailureInMethod:object:file:lineNumber:description: on the assertion handler for the current thread, passing desc as the description string and arg1, arg2, and arg3 as substitution variables. 各スレッドは、それ自身のアサーションハンドラを持ちます、それはクラスNSAssertionHandlerのオブジェクトです。発動した時、アサーションハンドラはあるエラーメッセージを出力します、それはメソッドおよびクラス名(または関数名)を含みます。それはそれからNSInternalInconsistencyException例外を引き起こします。conditionNOに評価されるならば、マクロはhandleFailureInMethod:object:file:lineNumber:description:をアサーションハンドラ上で現在のスレッドに対して発動します、descを記述文字列として、そしてarg1arg2、そしてarg3を置換変数として渡します。

This macro should be used only within Objective-C methods. このマクロは、Objective-Cメソッド内でのみ使われるべきです。

Assertions are disabled if the preprocessor macro NS_BLOCK_ASSERTIONS is defined or the ENABLE_NS_ASSERTIONS Xcode build setting is disabled. アサーションは、プリプロセッサマクロNS_BLOCK_ASSERTIONSが定義されるまたはENABLE_NS_ASSERTIONS Xcodeビルド設定が使用不可にされるならば、使用不可にされます。

See Also 参照

Assertions アサーション

Related Documentation 関連文書