オブジェクトの比較
2 つの Core Foundation オブジェクトを CFEqual 関数で比較します。2 つのオブジェクトが本質的に等しい場合、関数はブール値の true 値を返します。"必須" の等価性は、比較されるオブジェクトの型によって異なります。たとえば、2 つの CFString オブジェクトを比較する場合、Core Foundation は、それらのコード化または可変性の属性に関係なく、文字が文字ごとに一致すると、本質的に等しいとみなします。2 つの CFArray オブジェクトは、同じ数の要素を持ち、かつ 1 つの配列内の各要素オブジェクトが他の配列の対応するものと本質的に等しい場合、等しいとみなされます。明らかに、比較されるオブジェクトは、同じ型 (または同じ型の可変または不変の変形) でなければなりません。
以下のコードの断片は、CFEqual 関数を使用して定数と渡されたパラメータを比較する方法を示しています。
リスト 1 Core Foundation オブジェクトの比較
void stringTest(CFStringRef myString) { Boolean equal = CFEqual(myString, CFSTR(“Kalamazoo”)); if (!equal) { printf(“They’re not equal!"); } else { printf(“They’re equal!”): } }
前の章 次の章