Macro

NSAssert

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

Declaration 宣言

#define NSAssert(condition, desc, ...)

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 the arguments. あるNSStringオブジェクト、それはprintf形式の文字列を含み、失敗条件を記述しているエラーメッセージそして引数それらに対するプレースホルダを含んでいます。

...

The arguments displayed in the desc string. desc文字列において表示される引数。

Discussion 議論

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

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. 各スレッドは、それ自身のアサーションハンドラを持ちます、それはクラスNSAssertionHandlerのオブジェクトです。発動した時、アサーションハンドラはあるエラーメッセージを出力します、それはメソッドおよびクラス名(または関数名)を含みます。それはそれからNSInternalInconsistencyException例外を引き起こします。conditionNOに評価されるならば、マクロはhandleFailureInMethod:object:file:lineNumber:description:をアサーションハンドラ上で現在のスレッドに対して発動します、descを記述文字列として渡します。

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 関連文書