32

これはどういう意味で、どのような選択肢がありますか?

ARCではObjective-Cポインタを'void*'に暗黙的に変換することは許可されていません

このようにAudioSessionInitializeを使用するiOS5にXcode3プロジェクトを移植しています

AudioSessionInitialize(NULL, NULL, NULL, self);

ここselfにViewControllerがあります。

4

2 に答える 2

50

__bridgeキャストを使用する必要があります。

AudioSessionInitialize(NULL, NULL, NULL, (__bridge void *)self);
于 2011-08-22T23:11:20.837 に答える
30

void*もう暗黙のキャストを行うことはできませんAudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));。トリックを行う必要があります。

編集:歴史的なポイント、上記の答えは__bridgeキャストが確定する前のものでした。現代のコードでは、正解は@KazukiSakamotoによって提供されたものです。AudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);

于 2011-07-29T02:49:34.247 に答える