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.