NSDictionaryでのnilの扱いについて

LINEで送る
Pocket

※現在解決済みです。
NSDictionaryのdictionaryWithObjectsAndKeysはnilターミネートですので、先頭のnilでNSDictionaryが終端だと認識したと言う話でした。

堀内さんを初め、ありがとうございます!!

少し不可解な動作があったので、読者の皆様に質問をさせて下さい。


こんなコード。
NSDictionaryにオブジェクトとしてnilを突っ込む方法。
もちろん、これはクラッシュします。


これは今まで知っていたのですが、問題は以下のコード。


こんなコード。
これもクラッシュし・・・・ない!?
この方法だとnilは[NSNull null]として扱われるのか?


modern Objective-cだとこの様な書き方になります。

※stringはnil。

で、もちろんこれも落ちます。


modernObjective-cで書くんだったら、objectとしてdictionaryに挿入する前にnilチェック必要って事なのかなー。


どなたかご存知の方いらっしゃったらお教え下さいませー。

LINEで送る
Pocket

Dalt

translimit, Inc. Application Engineer. Twitter: @daiki1003 Facebok: Daiki Asahi

NSDictionaryでのnilの扱いについて」への1件のフィードバック

  1. dictionaryWithObjectsAndKeys:はnil terminated(可変長引数でnilが終端を表す)なので、最初のnilで終端された・・つまり要素0として扱われたということではないでしょうか?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です