Ricerca…


Osservazioni

IBOutlet non è né una parola riservata né una variabile o classe, è zucchero sintattico per Interface Builder. Dopo che il codice sorgente Objective-C è stato pre-elaborato, non viene risolto.

In Swift è risolto come zero.

È dichiarato in <UIKit/UINibDeclarations.h> come

#ifndef IBOutlet
#define IBOutlet
#endif

Utilizzo di un IBOutlet in un elemento dell'interfaccia utente

In generale, gli IBOutlet vengono utilizzati per connettere un oggetto interfaccia utente a un altro oggetto, in questo caso un UIViewController. La connessione serve a consentire che l'oggetto sia interessato al codice o agli eventi a livello di codice. Ciò può essere fatto semplicemente utilizzando l'assistente da uno storyboard e facendo clic tenendo premuto il tasto di controllo dall'elemento alla sezione delle proprietà .h del controller della vista, ma può anche essere eseguito a livello di codice e manualmente collegando il codice IBOutlet alla scheda "connections" dell'oggetto la barra delle utilità a destra. Ecco un esempio oggettivo di un UIViewController con un'etichetta:

//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

E veloce:

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 connessione tra l'oggetto storyboard e l'oggetto programmato può essere verificata come connessa se il punto a sinistra della dichiarazione della presa in .h è pieno. Un cerchio vuoto implicava una connessione incompleta.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow