CoreFoundation
出典: フリー百科事典『ウィキペディア(Wikipedia)』
CoreFoundationはCocoaのFoundationに相当するものをC言語で記述したもの。実装をCへ移した理由は、Carbonとの共有コードベースを備える為だと考えられる。
CoreFoundationはオープンソースのDarwinの一部なので必要ならソースコードを見ることができる。C言語で書かれているものの、オブジェクト指向の雰囲気は残しており、参照カウンタを用いたメモリ管理などObjective-Cに近いものになっている。CoreFoundationのオブジェクトはCFTypeと呼ばれるopaqueな構造体であり、ヘッダ部をObjective-C互換にする事でメッセージ送信との混在利用が可能としている(toll-free bridge)。
CoreFoundationに含まれるものはCFで始まる名前がつけられている。たとえばCFString(NSStringに相当)やCFArray(NSArrayに相当)、Mac OS X 10.3以降ではCFStream(NSStreamに相当)など。
CoreFoundationの本家であるCocoaもまずはC言語で実装し、それをObjective-Cでラップするという流れになっているようである。