J'ai ce ci-dessous méthode déléguée qui reçoit stickerURLString en entrée:Comment passer un paramètre de chaîne à une autre méthode à l'aide du sélecteur de bouton?
- (void)selectedSticker:(NSString *)stickerURLString {
//...
[self.stickerPreviewButton addTarget:self action:@selector(sendStickerPreviewButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
//...
}
Et le sélecteur appelle cette méthode sendStickerPreviewButtonPressed:
- (void)sendStickerPreviewButtonPressed: (NSString *)stickerURLString {
[self.delegate InputFunctionView:self sendSticker:stickerURLString];
}
Comme vous pouvez le voir afin de faire ce travail comme prévu je dois transmettre stickerURLString de selectedSticker méthode à sendStickerPreviewButtonPressé.
J'ai essayé:
[self.stickerPreviewButton performSelector:@selector(sendStickerPreviewButtonPressed:) withObject:stickerURLString];
au lieu de ceci:
[self.stickerPreviewButton addTarget:self action:@selector(sendStickerPreviewButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
Mais je suis "mettre fin à l'exception du type uncaught NSException" erreur.
Alors, quelqu'un sait comment transmettre un paramètre de chaîne à une autre méthode via le sélecteur de boutons?
double possible de [Joindre le paramètre à l'action button.addTarget à Swift] (http://stackoverflow.com/questions/24814646/attach-parameter-to-button-addtarget-action-in-swift) –
déclarez une variable globale et affectez la valeur à votre méthode. –
@AnuradhS oui il me semble que c'est la bonne façon d'utiliser la variable globale même si j'essaie d'éviter cela car mon code est assez complexe. Merci! – SanitLee