エキスパートObjective-Cプログラミングを読んでの Bridge キャストの学習メモ。 id 型と void* 型 (Objective-C の型と CoreFoundation の型) の相互のキャストは ARC を有効にするとコンパイラによるオーナーシップの管理を自動的に使用できない。 そのため Bridge キャストを利用して明示的にキャストしなければならない。 NS オブジェクトと CF オブジェクトとの構造は同じであるためオーバーヘッド無しにキャストできる。これを Toll-Free Bridge (交通量無料の橋)と呼ぶ。 参照カウントを見るための関数を準備しとく CFIndex getRetainCount(__strong id obj) { return CFGetRetainCount((__bridge CFTypeRef)obj); } これが何かは ARC