Dans certains IBAction
j'ai vu:
- (IBAction)pushButton:(id)sender;
Ce (id)sender
quand dois-je l'utiliser?
Dans certains IBAction
j'ai vu:
- (IBAction)pushButton:(id)sender;
Ce (id)sender
quand dois-je l'utiliser?
Matt Galloway, a décrit la signification de l' (id) sender
dans les actions sur l'iPhone Dev SDK forums ainsi:
(id)sender est l'objet qui a envoyé le message pour que le sélecteur. C'est comme dans le déléguer des fonctions où vous avez le contrôle transmise à la fonction, etc.
Vous l'auriez fait si vous aviez 2 objets qui ont été en appelant cette sélecteur et vous avez voulu distinguer entre eux. Bien sûr, vous pouvez simplement utiliser deux fonctions différentes, mais il est souvent plus propre et moins de duplication de code pour utiliser une fonction.
Voir la UIControl Classe de Référence pour plus de détails.
Un exemple pour que, UITextField a un délégué qui se déclenche lorsque la UITextField édition se termine:
-(IBAction) editingEnded:(id) sender
{
// the cast goes here, lets assume there's more than one UITextfield
// in this Owner and you want to know which one of them has triggered
// the "editingEnded" delegate
UITextField *textField= (UITextField*)sender;
if(textfield == iAmTheLastTextField)
{
// for example login now.
[self login];
}
}
"expéditeur" est le nom de la variable.
"(id)" signifie que le type de la variable est "id", qui est synonyme de "tout objet" (Vous pouvez le voir en haut de la hiérarchie de l'objet si vous voulez
Le nom de la méthode est le bouton-poussoir: et 1 paramètre d'aucune sorte.
Cette méthode sera lié à un bouton sur l'INTERFACE utilisateur. Le délégué de la ce de l'INTERFACE utilisateur recevra cet appel et aura une référence à la UIButton qui a fait l'appel. Parfois, vous n'en avez pas besoin, vous avez parfois besoin d'avoir accès à ces UIButton pour modifier ses propriétés, par exemple.
Il fait partie de la cible-le mécanisme d'action de Cacao, ce qui est une façon objets peuvent communiquer les uns avec les autres. En réponse à un événement (comme un clic de souris), un objet (généralement un contrôle de certains types) envoie un message à un autre objet. L'expéditeur est appelé, ainsi, "expéditeur", le récepteur est la "cible" et le message est "action".
Vous pouvez l'utiliser dans la cible du gestionnaire de messages pour obtenir des informations supplémentaires à propos de l'action de l'expéditeur.
J'ai appris par les Rabskatran. Mais je wouldlike pour corriger la seule partie qui dit "expéditeur" est le nom de la variable. Il devrait être (à partir de la documentation d'Apple - https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html):
"Les méthodes invoquées par des messages d'action ont une signature spécifique: un seul paramètre, la tenue d'une référence à l'objet de lancer le message de l'action; par convention, le nom de ce paramètre est de l'expéditeur. Par exemple,
C'EST DONC UN PARAMÈTRE!
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.