2010-12-14 61 views
1

Je suis novice en programmation iOs et j'ai de la difficulté avec le contrôleur de navigation. J'ai une vue de table qui montre une vue détaillée quand un article est sélectionné. Le bouton "retour" apparaît correctement en haut de la vue détaillée, donc tout va bien.Bouton de détail sur la deuxième vue

Maintenant je veux ajouter un bouton à la vue de détail pour lier à un site Web. J'ai donc essayé d'ajouter un bouton au contrôleur de navigation. D'abord, je l'ai fait dans IB, mais si vous faites cela, il apparaît seulement dans la première vue et disparaît dans la vue de détail (et je veux seulement l'avoir dans la vue détaillée).

Alors je l'ai essayé avec le code (ajouté dans le detailviewcontroller dans viedDidLoad:

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(viewlink:)]; 

Le bouton apparaît, et j'ai ajouté une fonction:

-(void)viewLink:(id)sender { 
NSLog(@"Went to view 2"); 
} 

Mais lorsque vous exécutez l'application que je reçois le beaucoup cité "- [ItemDetailViewController viewlink:]: sélecteur non reconnu envoyé à l'instance 0x8a13cb0"

Quelle serait la meilleure façon de faire cela? J'ai passé des heures sur cette question maintenant et je suis vraiment en train de me tirer les cheveux car cela semble être une chose si simple, donc je dois faire quelque chose de fondamentalement faux.

+0

Juste une double vérification - vous avez '- (void) viewLink: (id) expéditeur;' dans votre fichier .h? – Eric

Répondre

0

Dans le message d'erreur, il est indiqué "viewlink:" (minuscule l) mais votre méthode s'appelle viewLink: (L majuscule).

Lors de l'appel de cette méthode, veillez à utiliser exactement la même orthographe avec le même cas, car la langue est sensible à la casse.

Vous devriez également avoir reçu un avertissement du compilateur (pas une erreur d'exécution) indiquant que '' ItemDetailViewController 'ne répond pas à -viewlink: ". Surveillez et résolvez tous les avertissements.

La syntaxe surligneur donnera également une indication que quelque chose ne va pas. Une méthode non reconnue apparaîtra en noir mais une méthode reconnue apparaîtra en bleu clair.

+0

J'avais peur que ce soit une petite erreur stupide ... Dommage que je dise que l'ajout de la fonction au fichier .h et la modification de la capitale résolvait le problème. Merci beaucoup pour son aide! –