Core Foundation

Cocoaプログラミングは、Objective-Cという言語とCocoaというフレームワークを用いて行われるのだが、このObj-Cという言語はオブジェクト以外そのままC言語である。CocoaとCarbonって全然違うもの、と思っている人もいるかもしれないが、CocoaからCarbonの機能を呼び出すことは普通に出来ることである。
さて、CocoaとCarbonの「下」にはCore Foundationというものがある。両方を支える基礎みたいなものである。このCore Foundationはまた、「Cで書かれたオブジェクト指向フレームワーク」である*1


さて、Core FoundationにはCocoaに対応したオブジェクトがある。CFStringとか、CFArrayとか、そういう基本的なものである。そしてこれは「Toll-free bridge」でCocoaのオブジェクトとして扱える。いやあ、これ最初知ったときは驚いたんですよ。
多分内部的には同じものだったりするんだろう。

*1:詳しくはHMDTをご覧になるとよいかもしれない。