Je suis novice dans la programmation Obj-C/Cocoa et j'ai un problème pour ajouter dynamiquement des éléments de menu à une instance NSMenu et avoir le sélecteur d'action des éléments déjà défini lors de l'insertion .Ajout d'un élément à NSMenu avec préréglage de sélecteur d'action
Je peux, ajouter les éléments de menu dynamique très bien, mais le sélecteur d'action ne se déclenche pas lorsque l'élément est cliqué via le menu.
La première ligne ci-dessous est la ligne de code que j'utilise pour ajouter l'élément de menu. Vous pouvez définir que je mets l'action: (SEL) aSelector à la fonction "openEchowavesURL".
Cette fonction se trouve dans le même fichier de classe de contrôleur et j'ai inclus la définition de fonction ci-dessous. Est-ce que j'appelle juste la mauvaise syntaxe de sélecteur ou quelque chose? Ou quel est le truc pour obtenir l'élément de menu pour appeler un sélecteur lorsque vous cliquez dessus?
[statusMenu insertItemWithTitle:[NSString stringWithFormat:@"%d - %@", convo.newMessagesCount, convo.ewName] action:@selector(openEchowavesURL:) keyEquivalent:@"" atIndex:0];
- (void)openEchowavesURL:(id)sender {
// function details here
}
merci. Donc, si la chaîne est parcourue, alors pourquoi le sélecteur n'est-il pas trouvé dans ma classe de contrôleur actuelle? Pourquoi ai-je besoin de spécifier manuellement l'auto dans ce cas? – cpjolicoeur
Vous devez répondre à certains critères afin d'être interrogé lors de la recherche. Je vous suggère de lire le guide suivant pour comprendre comment: http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/EventOverview/index.html#//apple_ref/doc/uid/10000060i –
Votre contrôleur ne fait probablement pas partie de la chaîne du répondeur. –