CFArrayRef私たちが知っているように、無料のブリッジ型とやなどの目的の c 型の間の変換は非常に簡単NSArrayです。CGImageRef昨日、 (ツール不要のブリッジ型ではない) をid次のように変換するコードを見つけました。
CALayer *imgLayer = [CALayer layer];
imgLayer.contents = (id)aImage.CGImage;
ただし、正常に動作します。CGImageRefしかし、アップルのドキュメントによると、無料のブリッジ型に属していないため、わかりません。2 行目のコードを見てくださいimgLayer。プロパティの内容に割り当てられた値を保持する必要があります。CGImageRefに変換されるためid、プロパティ コンテンツのセッター メソッドでは、このようにそのオブジェクトに保持メッセージが送信されると思います[xxx retain]。しかしaImage.CGImage、オブジェクトではないので、この保持メッセージが正しく実行されるとは思いません (ただし、そうなるでしょう)。だから私の質問は、この変換の背後にある実際のアクションは何ですか?