Soy muy nuevo en el desarrollo de iPhone. A menudo encuentro IBAction
, IBOutlet
y así sucesivamente al leer el código Objective-C. ¿Qué significa IB
?¿Qué significa IB en IBAction, IBOutlet, etc.?
Respuesta
"Interface Builder".
Antes de Xcode 4, los archivos de interfaz (XIB y NIB) se editaron en un programa separado llamado Interface Builder, de ahí el prefijo.
IBAction
se define como void
, y IBOutlet
a nada. Son solo pistas de Interface Builder al analizar archivos para que estén disponibles para las conexiones.
sólo para añadir la referencia, en el interior AppKit/NSNibDeclarations.h encontrará los siguientes:
#ifndef IBOutlet
#define IBOutlet
#endif
#ifndef IBAction
#define IBAction void
#endif
Así que, en realidad, un código como éste:
@interface ...
{
IBOutlet NSTextField *label;
}
- (IBAction)buttonPressed:(id)sender;
@end
se transformará en:
@interface ...
{
NSTextField *label;
}
- (void)buttonPressed:(id)sender;
@end
Por el preprocesador, incluso antes de que el compilador lo vea. Esas palabras clave actuaban solo como pistas para Interface Builder.
Solo para sumar, el 'IBAction' es' void'. Es una especie de marcado para que Interface Builder pueda ver qué código de métodos expone para conexiones a botones y otros controles. No estoy seguro acerca de 'IBOutlet', pero estoy seguro de que es similar a' IBAction' para que Interface Builder vea qué controles puede conectarse también al código. – Eimantas
La herramienta todavía se llama Interface Builder; simplemente ya no existe como una aplicación separada. Es una pena, porque realmente adoro el ícono. – BoltClock
@Eimantas He estado editando la respuesta para hacer una nota al mismo tiempo que escribiste el comentario :-) gracias por señalarlo también – sidyll
IB significa constructor de interfaz, a medida que conecta objetos a través del constructor de interfaz.
IBAction e IBOutlet son Constantes del generador de interfaz IBOutlet: Una clase de controlador puede hacer referencia al objeto en el archivo de punta utilizando una constante especial llamada IBOutlet.
IBAcciones: Los objetos de interfaz en el archivo de punta se pueden configurar para desencadenar métodos específicos en la clase de controlador utilizando IBAction como tipo de retorno del método.
- 1. IBOutlet e IBAction
- 2. ¿Resumen de todas las conexiones IBOutlet, IBAction en un proyecto?
- 3. cómo conectarse a IBOutlet o IBAction en la clase base
- 4. ¿Cómo desencadenar un método IBAction programáticamente frente a un botón, etc.?
- 5. ¿Qué significa $ 1, $ 2, etc. en Expresiones regulares?
- 6. EXC_BAD_ACCESS con IBACTION
- 7. IBOutlet no está conectado en awakeFromNib
- 8. ¿Cómo implementaría una barra lateral similar a Mail/iTunes/Finder/etc en Cocoa/IB?
- 9. Obtener texto de botón desde IBAction - iPhone
- 10. ¿Qué significa '$?' significa en scripts bash?
- 11. ¿Qué significa "?" significa en Java?
- 12. ¿Qué significa '??' significa en C#?
- 13. ¿qué significa "$ &" significa en Ruby
- 14. ¿Qué significa "plumín" y "xib"?
- 15. ¿Cómo se puede definir qué botón se presionó si ambos tienen el mismo IBAction?
- 16. ¿Qué significa "babosa" significa
- 17. ¿Qué significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 18. ¿Qué significa ('../') significa?
- 19. IBOutlet y viewDidUnload bajo ARC
- 20. Conexión de UITextField en Interface Builder a IBOutlet definido en el código
- 21. declaraciones de IBOutlet?
- 22. iOS - modo de vista IB
- 23. IBOutlet no se conecta en Interface Builder- Xcode 4.2
- 24. ¿Qué significa "1"? significa en Perl?
- 25. ¿Qué significa "% .6d" significa en printf
- 26. ¿Qué significa @! significa en un De declaración
- 27. ¿Qué significa "rc" significa en archivos punto
- 28. Personalizado UITableViewCell (IB) solo se muestra en el estado seleccionado
- 29. ¿Qué significa '0n0'?
- 30. Send An Action Cocoa - IBAction
Interface Builder – jrturton