オブジェクト参照


参照によって、Core Foundation オブジェクト(不透明型) を参照して下さい。不透明型のすべてのヘッダーファイルで、以下のような行が表示されます。


typedef const struct __CFArray * CFArrayRef;
typedef struct __CFArray * CFMutableArrayRef;


これらの宣言は、不透明型を定義する(private) 構造体の不変および可変バージョンへのポインタ参照です。多くの Core Foundation 関数のパラメータと戻り値は、これらのオブジェクト参照の型を取りますが、private 構造体の typedef では決してありません。例えば:


CFStringRef CFStringCreateByCombiningStrings(CFAllocatorRef alloc, 
CFArrayRef array, CFStringRef separatorString);


不透明型オブジェクトの不変型、可変型およびその他の変形についての詳細は、様々なオブジェクト を参照してください。


すべての Core Foundation の不透明型では、CFArray オブジェクト上の CFArrayRef のように、そのオブジェクトの一意の型 ID を定義します。型 ID は、Core Foundation オブジェクトが "属する" 不透明型を識別する CFTypeID 型の整数です。異種コレクションで操作する場合など、さまざまなコンテキストで型 ID を使用して下さい。Core Foundation は、型 ID を取得して評価するためのプログラムインタフェースを提供します。


重要: 型 ID の値はリリースごとに変更できるため、コードは格納された型 ID またはハードコードされた 型 ID に依存してはならず、型 ID の観察されたプロパティをハードコードする必要もありません (たとえば 小さい整数など)。


さらに、Core Foundation は、汎用オブジェクト参照型の CFTypeRef を定義しており、一部のオブジェクト指向プログラミング言語のルートクラスに似ています。この汎用参照は、ある Core Foundation オブジェクトへの参照を取ることができる多形関数のパラメータと戻り値のプレースホルダ型として機能します。このテーマの詳細については、多形関数 を参照してください。オブジェクト参照を使用する場合のメモリ管理に関する問題については、Core Foundation のためのメモリ管理プログラミングガイド を参照してください。


前の章 次の章



目次
Xcode 10 の新機能

  • 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)












    トップへ(Core Foundation)