タグ

ブックマーク / fernweh.jp (1)

  • [ARC対応] Bridgeキャストの使い方

    エキスパート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

    Bowz13
    Bowz13 2013/08/24
    ブリッジキャストについて。__bridgeはObjective-CオブジェクトとCoreFoundationオブジェクトの相互変換。参照カウンタは変化しない。
  • 1