Core Foundation   >   CFDictionary
CFDictionary
概観
CFDictionary とその派生の変更可能型である CFMutableDictionary は、キー値ペアの関連を管理します。CFDictionary は、辞書を初めて作成するときにキー値ペアを設定し、その後は変更できない静的な辞書を作成します。CFMutableDictionary は、いつでもキー値ペアを追加または削除できる動的辞書を作成し、辞書は必要に応じて自動的にメモリを割り当てます。
辞書内のキー値ペアをエントリと呼びます。各エントリは、キーを表す 1 つのオブジェクトと、そのキーの値である 2 番目のオブジェクトで構成されます。辞書内では、キーは一意です。つまり、1 つの辞書内に 2 つのキーが等しい(等しい呼び出し関数によって決定される) 事はありません。内部的には、辞書はハッシュテーブルを使用してその保管を整理し、対応するキーが与えられている値に迅速にアクセスできるようにします。
CFDictionary のキーは C 型でも構いませんが、CFPropertyList を XML に変換する場合は、辞書のキーは CFString オブジェクトでなければなりません。
静的辞書は、CFDictionaryCreate(_:_:_:_:_:_:) または CFDictionaryCreateCopy(_:_:) 関数を使用して作成して下さい。キー値ペアは、CFDictionaryCreate(_:_:_:_:_:_:) にパラメータとして渡されます。キー値ペアを辞書に追加すると、キー値はコピーされません。保持されるので、辞書が割り当て解除される前は無効にされません。
CFDictionary は、辞書の値を質問する関数を提供します。関数 CFDictionaryGetCount(_:) は、辞書内のキー値ペアの数を返します。CFDictionaryContainsValue(_:_:) 関数は、値が辞書内にあるかどうかをチェックします。CFDictionaryGetKeysAndValues(_:_:_:) は、すべての値を含む C 配列と、辞書内のすべてのキーを含む C 配列を返します。
CFDictionaryApplyFunction(_:_:_:) 関数を使用すると、辞書内のすべてのキー値ペアに関数を適用できます。
CFDictionary は、その Cocoa Foundation の対応版である NSDictionary を使用して、"通話無料でブリッジ" されています。つまり、Core Foundation 型は、関数またはメソッド呼び出しでブリッジされた Foundation オブジェクトと交換可能です。したがって、NSDictionary * パラメータがあるメソッドでは、CFDictionaryRef を渡すことができ、CFDictionaryRef パラメータがある関数では、NSDictionary インスタンスを渡すことができます。これはまた、NSDictionary の具象サブクラスにも当てはまります。通話無料のブリッジの詳細については、通話無料のブリッジされた型 を参照してください。
@@@@@@@@@@@@@
@@@@@@@@@@@@@
編集中
@@@@@@@@@@@@@
@@@@@@@@@@@@@