1

ObjCではnilへのメッセージの送信が許可されていることを読みました。これは言語の一部であり、賛否両論で論争があったことを理解しています。私はそれについての議論を開きたくありません。

if (presumedInstance != nil)常にテストする必要がある以外に、nilにメッセージを送信しようとするとエラーが発生する可能性があるかどうかを知りたいだけです。コーディング時にエラーが発生しないことは役に立ちません。コードの欠陥がどこにあるかを判断するのが難しくなります。

おそらくXCodeの設定またはスクリプトですか?

4

2 に答える 2

2

いいえ、これを行う方法はありません。実際、これはObjective-Cの非常に重要な機能です。実際には、テスト(if (object)と同じif (object != nil))を実行することがより重要であると主張します。これは、関数とメソッドの入力と出力、およびアプリケーションが通過するコードパスを考慮する必要があるためです。最初はイライラするかもしれませんが、慣れていることの1つであり、生活がずっと楽になります。

于 2012-04-15T01:48:44.787 に答える
0

のように、アサーションを試すのはどうNSAssertですか?

NSAssert指定された条件がfalseの場合、アサーションを生成します。

使用法 : NSAssert(condition, desc)

パラメーター :

  • conditionYESまたはNOと評価される式。
  • desc障害状態を説明するエラーメッセージを含むNSStringオブジェクト。

参照 :

于 2012-04-15T01:24:39.197 に答える