0

私は彼らが使用できる会社のために働いているフレームワークを開発しています.自分自身を渡す必要があるときに nil を渡します。NSLog() とプリプロセッサ #warning を実行できることはわかっています。しかし、#warning は、プリプロセッサの if ステートメントに入れない限り、常にエディタに表示されるため、ユーザーに警告するために他にできることはありますか?

4

1 に答える 1

2

これに使用する必要がありますNSAssert。デバッグ モードの場合は実行を停止し、デバッガーなしで実行すると、エラーがデバイス ログに出力されます。

- (void)someSelector:(id)param)
{
    NSAssert(param != nil, @"Parameter should always be non-nil");
    // do stuff with param
}

必要に応じて、 を使用してリリース用にコンパイルすることもできます。その場合、NS_BLOCK_ASSERTIONSアサーションはまったく存在しません (何も出力されず、テストもコンパイルされません)。そうすれば、最終製品でチェックするオーバーヘッドを回避できます。

于 2012-06-20T09:45:34.660 に答える