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キーとしてNSViewインスタンスを使用していますか?
- 3. NSDictionaryキーとしてintを使用していますか?
- 4. iOSでは、NSDictionaryをテキストファイルとして使用できますか?
- 5. 使用ASIHTTPRequest NSDictionaryのキー
- 6. データ型(クラス型)をキーとしてキーとして使用
- 7. NSDictionaryのキーとしてtypedef列挙型?
- 8. NSLocalizedStringを辞書のキーとして使用できますか?
- 9. NSDictionaryを扱うときに定数を使用しますか?
- 10. NSDictionariesのNSDictionaryを使用しているときのメモリリーク
- 11. オブジェクトリストを辞書キーとして使用できますか?
- 12. NSDictionaryのキーの値がNSStringか別のNSDictionaryかどうかを知るには?
- 13. Pythonでクラスを辞書キーとして使用することはできますか?
- 14. NSDictionaryを使用するか、プロパティを持つクラスを作成しますか?
- 15. ブーストポインタコンテナ - ptr_mapのキーとしてクラスを保存できません
- 16. クラスをポインタとして使用できますか?
- 17. 配列の内容をハッシュのキーとして使用できますか?
- 18. レコードセットのキーとして文字列の配列を使用できますか?
- 19. iPhoneとNSDictionaryのキーとの接続
- 20. C#:式や関数を辞書のキーとして使用できますか?
- 21. メタタイプ(.Type)を辞書のキーとして使用できますか?
- 22. なぜHashMapのキーとして文字列を使用できますか?
- 23. 正規表現を辞書のキーとして使用できますか?
- 24. NSPredicateを使用してNSDictionaryオブジェクトのNSArrayをフィルタリングします。
- 25. NSDatesをキーにしたNSDictionary
- 26. KVOを使用してNSDictionaryの数を確認することはできますか?
- 27. NSDictionaryの説明 - 引用符付きのキー名はなぜですか?
- 28. NSDictionaryからすべてのキーをカウントするとEXC_BAD_ACCESSが返されます。
- 29. System.GuidをASP.Net MVCの主キーとして使用しますか?
- 30. クラスを静的クラスとして使用できるかどうかをどのように知ることができますか?
+1:良い情報.. – Jhaliya
なぜ人々は質問をして、答えを確認するために戻ることはないのですか? – David
辞書のキーとして 'NSNull'を使うことはできますが、それはシングルトンなので、そのキーで複数のエントリを持つことはできません。実際には空の値のプレースホルダーとして意図されています。 –