NSDictionaryのキーとしてNSStringオブジェクトのみを使用できますか?どのオブジェクトを使用でき、どのオブジェクトを使用できないのかはどのようにしてわかりますか? documentationからどのクラスをNSDictionaryのキーとして使用できますか?
0
A
答えて
6
:一般に
は、キーは、(それが
NSCopying
プロトコルに準拠することを条件とする)、任意のオブジェクトであってもよいが、(キー値を使用する場合、キーを符号化する文字列でなければならないことに注意してください“Key-Value Coding Fundamentals”参照)。
文字列のほかにコピー可能なものはすべて使用できますが、KVCに問題があります。私は物事を安全に、一貫してシンプルに保つためにキーの文字列を使用します。
2
NSCopyingに準拠するものはすべて使用できます。つまり、NSCoding
プロトコルに準拠している限り、id
タイプのオブジェクトを使用できます。
キーがNSStringの場合、取得のためにisEqualToString:が呼び出されます。それ以外の場合は、オブジェクトに対してisEqual:が呼び出され、キーが要求されたキーと一致するかどうかが判断されます。
キー(とその値)は、nil
またはNULL
にはできません。しかし、彼らは[NSNull null]
であることができます。
関連する問題
- 1. NSDictionaryのキーとして@charを使用
- 2. NSDictionaryキーとしてintを使用していますか?
- 3. NSDictionaryキーとしてNSViewインスタンスを使用していますか?
- 4. iOSでは、NSDictionaryをテキストファイルとして使用できますか?
- 5. 使用ASIHTTPRequest NSDictionaryのキー
- 6. NSDictionaryのキーにSKNodeオブジェクトを使用していますか? (問題の比較)
- 7. NSDictionaryのキーとしてtypedef列挙型?
- 8. NSDictionaryを扱うときに定数を使用しますか?
- 9. NSLocalizedStringを辞書のキーとして使用できますか?
- 10. ThreadLocalをHashMapのキーとして使用できますか?
- 11. NSDictionaryのキーと値のペア形式を出力しますか?
- 12. データ型(クラス型)をキーとしてキーとして使用
- 13. NSDictionariesのNSDictionaryを使用しているときのメモリリーク
- 14. クラス内のaddKeyListenerを使用して、別のクラスのキーをリッスンしますか?
- 15. NSDictionaryのキーの値がNSStringか別のNSDictionaryかどうかを知るには?
- 16. オブジェクトリストを辞書キーとして使用できますか?
- 17. JSON4S hashCodeメソッドをキーとして使用できますか?
- 18. NSDictionaryを使用するか、プロパティを持つクラスを作成しますか?
- 19. Objective C NSDictionary:キーの値に基づいてNSDictionaryキーをソートする方法
- 20. Pythonでクラスを辞書キーとして使用することはできますか?
- 21. iPhoneとNSDictionaryのキーとの接続
- 22. クラスをポインタとして使用できますか?
- 23. NSDictionaryのキーと値を配列で並べ替えます。
- 24. NSDictionaryの説明 - 引用符付きのキー名はなぜですか?
- 25. レコードセットのキーとして文字列の配列を使用できますか?
- 26. オブジェクトをJavaのハッシュマップのキーとして使用できますか?
- 27. 配列の内容をハッシュのキーとして使用できますか?
- 28. NSPredicateを使用してNSDictionaryオブジェクトのNSArrayをフィルタリングします。
- 29. Golangテンプレートで別の変数をキーとして使用できますか?
- 30. ブーストポインタコンテナ - ptr_mapのキーとしてクラスを保存できません
+1:良い情報.. – Jhaliya
なぜ人々は質問をして、答えを確認するために戻ることはないのですか? – David
辞書のキーとして 'NSNull'を使うことはできますが、それはシングルトンなので、そのキーで複数のエントリを持つことはできません。実際には空の値のプレースホルダーとして意図されています。 –