様々なオブジェクト
不透明型は、編集可能性とオブジェクトで期待される拡張性の特性に基づいて、最大 3 つの基本的な変種、すなわち"フレーバー" になります。
- 不変サイズと固定サイズ
- 可変サイズと固定サイズ
- 可変サイズと不定サイズ
可変オブジェクトは編集可能であり、つまり、内容を変更できます。不変オブジェクトは編集できません。一度作成されると変更することはできません。不変オブジェクトを変更しようとすると、通常は何らかのエラーが発生します。固定サイズのオブジェクトには、最大限に拡張できます。CFString の場合は文字数、コレクションの場合は要素数です。
CFString や CFArray などのいくつかの不透明型は、3 つのオブジェクトのすべてのフレーバーを作成できます。ほとんどの不透明型は不変の、固定サイズのオブジェクトを作成でき、通常はジョブを行うための少なくとも 1 つの無資格の作成関数(CFArrayCreate など) を持ちます。可変で固定のサイズと不定サイズの決定は、TypeCreateMutable 関数の capacity または maximum-length パラメータの値です。任意の正の値は固定サイズのオブジェクトになりますが、0 は不定サイズのオブジェクトを指定します。
可変オブジェクトへの参照には、型名に "Mutable" が含まれます(例:CFMutableStringRef)。
前の章 次の章