Vidéo: Introduction to iOS, by Rhed Shi 2025
Avant d'utiliser Interface Builder pour créer les éléments pour la vue modale de votre application iPad, vous devez d'abord mettre des points de vente dans le code de votre application qui connecte vos méthodes aux objets d'interface Interface Builder. Vous devez faire trois choses dans votre code pour que le compilateur crée des accesseurs pour vous:
-
Déclarez une variable d'instance dans le fichier d'interface.
-
Ajoutez une déclaration @property de cette variable d'instance dans le même fichier d'interface (généralement avec l'attribut nonatomic).
La déclaration spécifie le nom et le type de la propriété, ainsi que certains attributs qui fournissent au compilateur des informations sur la manière exacte dont les méthodes d'accès doivent être implémentées.
Par exemple, la déclaration @property (nonatomic, assign) NSString * wordsOfWisdom; déclare une propriété nommée wordsOfWisdom, qui est un pointeur vers un objet NSString. Comme pour les deux attributs - nonatomic et assign - nonatomic dit au compilateur de créer un accesseur pour retourner la valeur directement, ce qui est une autre façon de dire que les accesseurs peuvent être interrompus en cours d'utilisation. La deuxième valeur, assign, indique au compilateur de créer une méthode accesseur qui envoie un message d'assignation à tout objet assigné à cette propriété.
-
Utilisez @synthesize dans le fichier d'implémentation pour qu'Objective-C génère les accesseurs pour vous.
La déclaration @property déclare seulement qu'il doit y avoir des accesseurs. C'est l'instruction @synthesize qui indique au compilateur de les créer pour vous.
Dans l'exemple de code suivant, vous devez créer deux prises: une pour pointer vers un champ de saisie de texte et une pour pointer vers un curseur de vitesse. Pour démarrer cette activité commerciale, vous devez déclarer chaque point de vente, ce que vous faites avec l'aide du mot clé IBOutlet.
#import @protocol SettingsViewControllerDelegate; @interface SettingsViewController: UIViewController {délégué; NSString * wordsOfWisdom; float sliderValue; IBOutlet UITextField * theTextField; Curseur IBOutlet UISlider *;} - (IBAction) done; - (IBAction) speedChanged: (id) expéditeur; @property (nonatomic, assign) id délégué; @property (nonatomic, assign) NSString * motsDe Sagesse; @property (nonatomic, assign) curseur UISlider *; @end @protocol SettingsViewControllerDelegate - (void) settingsViewControllerDidFinish: Contrôleur (SettingsViewController *); - (void) changeSpeed: (double) newSpeed; @end
Deux méthodes d'action (done et speedChanged) pour les éléments d'Interface Builder sont déclarées (avec IBAction), ainsi que les instructions IBOutlet, qui déclarent les points de vente qui seront automatiquement initialisés avec un pointeur sur UITextField (theTextField) et le UISlider (curseur) lorsque l'application est lancée.Mais bien que cela se fasse automatiquement, cela ne se fera pas automatiquement automatiquement. Vous devez l'aider un peu.
Les méthodes qui donnent accès aux variables d'instance d'un objet sont appelées méthodes accesseurs, et obtiennent effectivement (en utilisant une méthode getter) et définissent (en utilisant une méthode setter) les valeurs d'une variable d'instance. Bien que vous puissiez coder ces méthodes vous-même, cela peut être plutôt fastidieux. C'est là qu'interviennent les propriétés. La fonctionnalité Objective-C Declared Properties fournit un moyen simple de déclarer et d'implémenter les méthodes d'accès d'un objet. Le compilateur peut synthétiser les méthodes d'accès selon la manière dont vous l'avez indiqué dans la déclaration de propriété.
