これはどういう意味で、どのような選択肢がありますか?
ARCではObjective-Cポインタを'void*'に暗黙的に変換することは許可されていません
このようにAudioSessionInitializeを使用するiOS5にXcode3プロジェクトを移植しています
AudioSessionInitialize(NULL, NULL, NULL, self);
ここself
にViewControllerがあります。
これはどういう意味で、どのような選択肢がありますか?
ARCではObjective-Cポインタを'void*'に暗黙的に変換することは許可されていません
このようにAudioSessionInitializeを使用するiOS5にXcode3プロジェクトを移植しています
AudioSessionInitialize(NULL, NULL, NULL, self);
ここself
にViewControllerがあります。
__bridgeキャストを使用する必要があります。
AudioSessionInitialize(NULL, NULL, NULL, (__bridge void *)self);
void*
もう暗黙のキャストを行うことはできませんAudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));
。トリックを行う必要があります。
編集:歴史的なポイント、上記の答えは__bridge
キャストが確定する前のものでした。現代のコードでは、正解は@KazukiSakamotoによって提供されたものです。AudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);