Intenta comprender el código correctamente previamente a aplicarlo a tu trabajo y si ttienes algo que aportar puedes dejarlo en la sección de comentarios.
Solución:
IBAction
y IBOutlet
son macros definidas para indicar variables y métodos a los que se puede hacer referencia en Interface Builder.
IBAction
resuelve a void
y IBOutlet
no se resuelve en nada, pero significan para Xcode y el constructor de interfaces que estas variables y métodos se pueden usar en el constructor de interfaces para vincular elementos de la interfaz de usuario a su código.
Si no va a usar Interface Builder en absoluto, entonces no los necesita en su código, pero si lo va a usar, entonces necesita especificar IBAction
para los métodos que se utilizarán en IB y IBOutlet
para los objetos que se utilizarán en IB.
La forma tradicional de marcar un método para que aparezca en Interface Builder y pueda arrastrar una conexión hacia él ha sido hacer que el método devuelva el tipo IBAction. Sin embargo, si haces tu método voiden cambio (IBAction es #define’d para ser void), y proporcione un argumento (id), el método aún es visible. Esto proporciona flexibilidad extra, al
Los 3 son visibles desde Interface Builder:
-(void) someMethod1:(id) sender;
-(IBAction) someMethod2;
-(IBAction) someMethod3:(id) sender;
Consulte la Guía del usuario de Interface Builder de Apple para obtener más detalles, en particular la sección titulada Integración con Xcode.
Debe usar IBOutlet e IBAction si está usando el generador de interfaz (de ahí el IB prefix) para sus componentes GUI. Se necesita IBOutlet para asociar propiedades en su aplicación con componentes en IB, y IBAction se usa para permitir que sus métodos se asocien con acciones en IB.
Por ejemplo, suponga que define un botón y una etiqueta en IB. Para cambiar dinámicamente el valor de la etiqueta presionando el botón, definirá una acción y propiedad en su aplicación similar a:
UILabel IBOutlet *myLabel;
- (IBAction)pushme:(id)sender;
Luego, en IB, conectaría myLabel con la etiqueta y conectaría el método pushme con el botón. Necesita IBAction e IBOutlet para que existan estas conexiones en IB.
Si te apasiona la programación, tienes la opción de dejar una noticia acerca de qué te ha gustado de esta división.