2012-02-04 5 views
5

Estoy estudiando el desarrollo de ObjC y iOS. Todos los componentes que uso en mis aplicaciones se crean mediante programación (vistas, botones, etiquetas, etc.).Use void en su lugar IBAction como tipo de devolución del método

Aquí está mi código

... 
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[self.btn addTarget:self 
        action:@selector(someAction:) 
     forControlEvents:UIControlEventTouchDown]; 
.... 


-(void)someAction 
{ 
logic 
} 

Me he dado cuenta de que puedo usar vacío en lugar de IBAction como tipo de retorno de selector. ¿Es este el enfoque correcto? ¿Podría haber algún inconveniente?

+0

posible duplicado de [IBOutlet e IBAction] (http://stackoverflow.com/questions/1643007/iboutlet-and-ibaction) –

Respuesta

17

El uso de IBAction indica a Xcode que desea que el método esté disponible como método de acción en el Generador de interfaces. Ese es el único efecto. De lo contrario, es idéntico al void. De hecho, en UINibDeclarations.h se dará cuenta de esto:

#define IBAction void 

Usando IBAction es una buena idea, incluso si usted no utiliza archivos nib, porque es una señal para el lector (usted o un compañero de trabajo) que la intención de use el método como la acción de un control de UI.

+0

No abrir un tema nuevo. Prefiero crear todo de forma programática en lugar de usar IB. Tal vez suene loco, pero ese enfoque es más fácil para mí. ¿Son inconvenientes de usar ese enfoque? – objlv

+4

Sí, hay contras. Usar o no usar IB tiende a ser un argumento religioso. Lo uso mucho La mayoría de las aplicaciones de muestra de Apple lo usan. Supongo que a las personas que no lo usan les gusta escribir un código repetitivo y pasar por muchos ciclos de edición y compilación, ajustando las coordenadas de vista, colores y tamaños de fuente en su código. –

+0

En el editor de Xcode, hay un pequeño icono para indicar si está conectado o no. Usar IBAction/IBOutlet para el método/propiedad no IB puede ser confuso. Pero de todos modos, es una cuestión de gusto. – hoshi

Cuestiones relacionadas