objective-c - que - punteros y arreglos en c
la conversión implícita de un puntero de Objective-C a ''void*'' no se permite con ARC (2)
¿Qué significa esto y qué alternativa tengo?
implicit conversion of an Objective-C pointer to ''void *'' is disallowed with ARC
Estoy portando un proyecto Xcode3 a iOS5 que usa AudioSessionInitialize como este
AudioSessionInitialize(NULL, NULL, NULL, self);
donde self
soy un ViewController.
No puede hacer AudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));
implícitas para void*
más, AudioSessionInitialize(NULL, NULL, NULL, objc_unretainedPointer(self));
debería hacer el truco.
EDITAR: punto histórico, la respuesta anterior era anterior a la __bridge
lanzamientos de __bridge
. En el código moderno, la respuesta correcta es la proporcionada por @KazukiSakamoto, AudioSessionInitialize(NULL, NULL, NULL, (__bridge void*)self);
Deberías usar __bridge cast para ello.
AudioSessionInitialize(NULL, NULL, NULL, (__bridge void *)self);