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 の具象サブクラスにも当てはまります。通話無料のブリッジの詳細については、通話無料のブリッジされた型 を参照してください。




@@@@@@@@@@@@@
@@@@@@@@@@@@@
編集中
@@@@@@@@@@@@@
@@@@@@@@@@@@@




目次
Xcode 9 の新機能

  • 言語:Swift | Objective-C
  • 概観












  • トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)












    トップへ(Core Foundation)