Core Foundation   >   CFArray
CFArray
概観
CFArray とその派生の可変型 CFMutableArray は配列と呼ばれる順序付けられた値のコレクションを管理します。CFArray は静的配列を作成し、CFMutableArray は動的配列を作成します。
静的配列オブジェクトは、CFArrayCreate(_:_:_:_:) または CFArrayCreateCopy(_:_:) 関数を使用して作成して下さい。これらの関数は、引数として渡す値を含む配列を返します。(配列には NUL Lポインタを含めることはできませんが、ほとんどの場合、代わりに kCFNull 定数を使用できる事に注意して下さい。) 値はコピーされませんが、配列の作成時に保持される retain 呼び出し関数を使用して保持されます。同様に、値が配列から削除されると、解放する呼び出し関数を使用して値が解放されます。
CFArray の 2 つの基本関数 CFArrayGetCount(_:) と CFArrayGetValueAtIndex(_:_:) は、そのインタフェース内に他のすべての関数の基礎を提供します。CFArrayGetCount(_:) 関数は、任意の配列内の要素の数を返します。CFArrayGetValueAtIndex(_:_:) は、配列の要素に そのインデックス値が 0 から始まるインデックスでアクセスできるようにします。
例えば CFArrayApplyFunction(_:_:_:_:) を使用すると、配列内の値範囲で数多くの CFArray の関数を操作することができます。また、CFArrayBSearchValues(_:_:_:_:_:) を使用して、そのパラメータと一致する値を配列で検索できます。範囲は {start, length} と定義されているので、配列全体を操作するには {0、N} (ここで N は配列のカウント) を指定して下さい。
CFArray は、Cocoa Foundation で対応する NSArray を使用して "通話無料でブリッジされて" います。つまり、Core Foundation 型は、関数呼び出しまたはメソッド呼び出しで、ブリッジされた Foundation オブジェクトと交換可能です。したがって、NSArray * パラメータを参照するメソッドでは、CFArrayRef を渡すことができ、CFArrayRef パラメータがある関数では、NSArray インスタンスを渡すことができます。これは、NSArray の具象サブクラスにも当てはまります。通話無料のブリッジの詳細については、通話無料でブリッジされた型 を参照してください。
シンボル
配列の作成
func CFArrayCreate(CFAllocator!, UnsafeMutablePointer<UnsafeRawPointer?>!, CFIndex, UnsafePointer<CFArrayCallBacks>!)
与えられた値を持つ新しい不変配列を作成します。
func CFArrayCreateCopy(CFAllocator!, CFArray!)
別の配列の値を使用して新しい不変配列を作成します。
配列の検査
func CFArrayBSearchValues(CFArray!, CFRange, UnsafeRawPointer!, CFComparatorFunction!, UnsafeMutableRawPointer!)
バイナリ検索アルゴリズムを使用して配列の値を検索します。
func CFArrayContainsValue(CFArray!, CFRange, UnsafeRawPointer!)
値が配列内にあるかどうかを報告します。
func CFArrayGetCount(CFArray!)
現在配列内にある値の数を返します。
func CFArrayGetCountOfValue(CFArray!, CFRange, UnsafeRawPointer!)
与えられた値が配列内で発生する回数をカウントします。
func CFArrayGetFirstIndexOfValue(CFArray!, CFRange, UnsafeRawPointer!)
配列の前から検索して値を取得します。
func CFArrayGetLastIndexOfValue(CFArray!, CFRange, UnsafeRawPointer!)
配列の後ろから検索して値を取得します。
func CFArrayGetValues(CFArray!, CFRange, UnsafeMutablePointer<UnsafeRawPointer?>!)
配列からの値でバッファを埋めます。
func CFArrayGetValueAtIndex(CFArray!, CFIndex)
与えられたインデックスの値を取得します。
関数の要素への適用
func CFArrayApplyFunction(CFArray!, CFRange, ((UnsafeRawPointer?, UnsafeMutableRawPointer?) -> Void)!, UnsafeMutableRawPointer!)
配列の範囲内の各要素に対して関数を 1 回呼び出します。
CFArray 型 ID の取得
func CFArrayGetTypeID()
CFArray 不透明型の型 ID を返します。
呼び出し関数
配列内のすべての値に適用できる呼び出し関数のプロトタイプ。
CFArrayCopyDescriptionCallBack
配列内の値の説明を取得するために使用される呼び出し関数のプロトタイプ。
配列内の 2 つの値が等しいかどうかを判断するために使用される呼び出し関数のプロトタイプ。
値が配列から削除される前に解放するために使用される呼び出し関数のプロトタイプ。
配列に追加される値を保持するために使用される呼び出し関数のプロトタイプ。
データ型
CFArray の呼び出し関数を含む構造体。
不変の配列オブジェクトへの参照。
定数
Predefined Callback Structures
CFArray は、CFArray 内の値がすべて CFType 派生オブジェクトである場合に使用するのに適した事前に定義された呼び出し関数構造を提供します。
以下も見よ
関連した文書
Core Foundation のコレクションプログラミングトピック
Core Foundation のプロパティトピックプログラミングトピック