1. ホーム
  2. iphone

[解決済み] NSParameterAssertとは何ですか?

2023-04-27 13:59:46

質問

何が NSParameterAssert ?

どなたか例を挙げて説明していただけませんか?

どのように解決するのですか?

これは、あるメソッドのパラメータが nil または 0 でないことをテストする簡単な方法です。つまり、基本的には、あるパラメータが設定されていなければならないという前提条件を作成するために使用します。もしそれが設定されていなければ、マクロはアプリケーションを中断させ、その行でエラーを発生させます。だから

- (void)someMethod:(id)someObjectThatMustNotBeNil
{
  // Make sure that someObjectThatMustNotBeNil is really not nil
  NSParameterAssert( someObjectThatMustNotBeNil );
  // Okay, now do things
}

事前条件は、プログラマがメソッド/APIを正しく呼び出していることを確認するための簡単な方法です。プログラマが前提条件に違反した場合、アプリケーションは早期に終了する、というものです。

NSParameterAssert は任意の式が真と評価されることをテストするために使用できるので、このように使用することもできます。

NSParameterAssert( index >= 0 ); // ensure no negative index is supplied

NSParameterAssert() マクロに関する Apple のドキュメントです。