2011-07-04 8 views

答えて

6

:一般に

は、キーは、(それがNSCopyingプロトコルに準拠することを条件とする)、任意のオブジェクトであってもよいが、(キー値を使用する場合、キーを符号化する文字列でなければならないことに注意してください“Key-Value Coding Fundamentals”参照)。

文字列のほかにコピー可能なものはすべて使用できますが、KVCに問題があります。私は物事を安全に、一貫してシンプルに保つためにキーの文字列を使用します。

2

NSCopyingに準拠するものはすべて使用できます。つまり、NSCodingプロトコルに準拠している限り、idタイプのオブジェクトを使用できます。

キーがNSStringの場合、取得のためにisEqualToString:が呼び出されます。それ以外の場合は、オブジェクトに対してisEqual:が呼び出され、キーが要求されたキーと一致するかどうかが判断されます。

キー(とその値)は、nilまたはNULLにはできません。しかし、彼らは[NSNull null]であることができます。

+0

+1:良い情報.. – Jhaliya

+0

なぜ人々は質問をして、答えを確認するために戻ることはないのですか? – David

+0

辞書のキーとして 'NSNull'を使うことはできますが、それはシングルトンなので、そのキーで複数のエントリを持つことはできません。実際には空の値のプレースホルダーとして意図されています。 –

関連する問題