NSAssertの本当の目的は何ですか?質問する

NSAssertの本当の目的は何ですか?質問する

これを質問しなければならないのは、次の理由からです。私が認識しているのは、アサーションが失敗するとアプリがクラッシュするということだけです。それが NSAssert を使用する理由ですか? それとも、他にどのような利点がありますか? また、コード内で行った仮定のすぐ上に NSAssert を置くのは正しいことでしょうか。たとえば、パラメータとして -1 を受け取ることはないが、-0.9 や -1.1 を受け取る可能性がある関数などです。

ベストアンサー1

アサートは、値が想定どおりの値であることを確認するためのものです。アサーションが失敗した場合、何か問題が発生したため、アプリが終了します。アサートを使用する理由の 1 つは、渡されたパラメータの 1 つが正確​​に何らかの値 (または値の範囲) ではない場合に、動作しないか、非常に悪い副作用を引き起こす関数がある場合です。この場合、アサートを使用して、値が想定どおりの値であることを確認し、そうでない場合は何かが本当に間違っているため、アプリが終了します。アサートは、デバッグ/ユニット テストに非常に役立ちます。また、ユーザーが「悪質な」ことをしないようにするためのフレームワークを提供する場合にも役立ちます。

おすすめ記事