El iPhone recibe un error de compilación. Las funciones ABC prohíben el envío de mensajes explotados de dealoc [duplicado]

Cuando intento construir mi proyecto, aparece el siguiente mensaje de error

Las funciones ABC prohíben el envío de mensajes de explotación de dealoc

- (void)dealloc {
    [super dealloc];
}

esta es la definición de la clase:

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>


@interface cPlay : UIViewController{
    MPMoviePlayerController *mp;

}
- (void) moviePlayBackDidFinish:(NSNotification*)notification;
-(void) NewVideo : (NSString *) strName;
@end

preguntado el 22 de mayo de 12 a las 20:05

Eche un vistazo a la siguiente pregunta. stackoverflow.com/questions/6273341/… -

2 Respuestas

Simplemente elimine la función de asignación, ARC (recuento automático de referencias) no permite la asignación por su cuenta. ARC lo hará por usted.

Vea este enlace:

http://www.raywenderlich.com/5677/beginning-arc-in-ios-5-part-1

Una de las cosas que me encantan de ARC es que en la mayoría de los casos elimina por completo la necesidad de escribir métodos dealloc. Cuando se desasigna un objeto, sus variables de instancia y
las propiedades sintetizadas se liberan automáticamente. Ya no tienes que escribir:

- (void)dealloc
{
    [_window release];
    [_viewController release];
   [super dealloc];
}

porque Objective-C automáticamente se ocupa de esto ahora. De hecho, ni siquiera es posible > escribir lo anterior más. Bajo ARC no se le permite llamar liberación, ni [super
adjudicar]. Todavía puede implementar dealloc, y verá un ejemplo de esto más adelante, pero ya no es necesario liberar sus ivars a mano.

contestado el 22 de mayo de 12 a las 20:05

Hola, gracias por responder a mi pregunta, - ted pottel

Cuando usa ARC, generalmente no necesita escribir el método dealloc para la administración de memoria, ya que el compilador insertará todo el código necesario para usted, y si realmente lo necesita, no llame [super dealloc] dentro

contestado el 22 de mayo de 12 a las 20:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.