2011-09-25 3 views
2

Lorsque je clique sur un champ de texte dans l'écran de mon application et le clavier montre jusqu'à débogueur Xcode montre cette erreur:« sélecteur non reconnu envoyé à l'instance » lorsque le clavier apparaît

[mainViewController keyboardWasShown]: unrecognized selector sent to instance 0x5867ac0 

Dans la méthode viewDidLoad du mainViewController I appelle la méthode registerForKeyboardNotifications comme cela:

[self registerForKeyboardNotifications];

Voilà sa mise en œuvre (en mainViewController.m):

- (void)registerForKeyboardNotifications 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UIKeyboardDidShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil]; 
} 

// Called when the UIKeyboardDidShowNotification is sent. 
- (void)keyboardWasShown:(NSNotification*)aNotification 
{ 

} 

// Called when the UIKeyboardWillHideNotification is sent 
- (void)keyboardWillBeHidden:(NSNotification*)aNotification 
{ 

} 

Toute idée de ce qui pourrait être erroné?

+3

Avez-vous copié et collé ce code directement depuis votre source? Vous semblez enregistrer une notification avec le sélecteur 'keyboardWasShown:' mais le message d'exception mentionne un sélecteur 'keyboardWasShown' (le deux-points à la fin est important). –

+0

Bon, je pense que ça pourrait être le problème ... Je le teste maintenant! – user963160

+0

pouvez-vous en faire une réponse afin que je puisse voter pour vous? :) – user963160

Répondre

4

Assurez-vous que le sélecteur de notification a le deux-points à la fin; ceci est important, keyboardWasShown et keyboardWasShown: sont des sélecteurs différents.

Questions connexes