Recherche…
Remarques
IBOutlet n'est ni un mot réservé, ni une variable ou une classe, est le sucre syntaxique pour Interface Builder. Une fois le code source d'Objective-C pré-traité, il est résolu à rien.
Dans Swift, il est résolu comme nul.
Il est déclaré dans <UIKit/UINibDeclarations.h>
comme
#ifndef IBOutlet
#define IBOutlet
#endif
Utilisation d'un IBOutlet dans un élément d'interface utilisateur
En général, IBOutlets permet de connecter un objet d'interface utilisateur à un autre objet, en l'occurrence un UIViewController. La connexion permet à l'objet d'être affecté mon code ou les événements par programmation. Cela peut se faire simplement en utilisant l'assistant depuis un storyboard et en cliquant sur l'élément dans la section de propriétés .h du contrôleur de vue, mais cela peut aussi se faire par programmation et connecter manuellement le code IBOutlet à l'onglet "connections" de l'objet. la barre d'utilité à droite. Voici un exemple objectif-c d'un UIViewController avec une sortie d'étiquette:
//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
Et vite:
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 connexion entre l'objet storyboard et l'objet programmé peut être vérifiée comme étant connectée si le point situé à gauche de la déclaration de la prise dans le .h est rempli. Un cercle vide impliquait une connexion incomplète.