タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

gistとqiitaに関するkazuph1986のブックマーク (1)

  • nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita

    プログラミング言語でnullは基的には値がないことや変数が初期化されていないということを表す。 Objective-Cではnilはポインタが何も実体を指していないことを表現し、変数がnilのときオブジェクトを持っていない状態となる。 ただ、NSDictionaryやNSArrayはnilを格納することが出来ず、 空を格納していることを表現するためにNSNullを使う。 nilとNSNullの大きな違いとして、値がnilである変数に対してメッセージを送った場合はnilを返す。nilは(id)0として定義されている。これに対し、オブジェクトがNSNullの場合、NSNullオブジェクトに存在しないメッセージを送るとNSInvalidArgument Exceptionの例外を投げ、これをキャッチしなかった場合はクラッシュしてしまう。 nilへのメッセージの戻り値は次のコードで実験できる。 v

    nilとNSNullの違いとNSNullをnilのように振る舞うようにする - Qiita
    kazuph1986
    kazuph1986 2013/04/26
    やりとり含めて有用そう。
  • 1