Buscar..


Observaciones

IBOutlet no es una palabra reservada ni una variable o clase, es azúcar sintáctica para Interface Builder. Una vez que el código fuente de Objective-C es preprocesado, se resuelve en nada.

En Swift se resuelve como nula.

Se declara en <UIKit/UINibDeclarations.h> como

#ifndef IBOutlet
#define IBOutlet
#endif

Usando un IBOutlet en un elemento UI

En general, los IBOutlets se utilizan para conectar un objeto de interfaz de usuario a otro objeto, en este caso un UIViewController. La conexión sirve para permitir que el objeto se vea afectado por mi código o eventos programáticamente. Esto se puede hacer simplemente usando el asistente de un guión gráfico y haciendo clic con el botón de control del elemento en la sección de propiedad .h del controlador de vista, pero también se puede hacer mediante la conexión manual y manual del código IBOutlet a la pestaña "conexiones" del objeto. La barra de servicios a la derecha. Aquí hay un ejemplo de objetivo-c de un UIViewController con una salida de etiqueta:

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

@interface ViewController : UIViewController

//This is the declaration of the outlet
@property (nonatomic, weak) IBOutlet UILabel *myLabel;

@end

//ViewController.m
#import "ViewController.h"

@implementation ViewController

@synthesize myLabel;

-(void) viewDidLoad {

    [super viewDidLoad];
    //Editing the properties of the outlet
    myLabel.text = @"TextHere";
    
}

@end

Y rápido:

import UIKit
class ViewController: UIViewController {
    //This is the declaration of the outlet
    @IBOutlet weak var myLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
        //Editing the properties of the outlet
        myLabel.text = "TextHere"
    }
}

La conexión entre el objeto del guión gráfico y el objeto programado se puede verificar como conectado si se rellena el punto a la izquierda de la declaración de la salida en el .h. Un círculo vacío implicaba una conexión incompleta.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow