2010-08-28 6 views
1

je reçois cette erreur « identifiant attendu avant « OBJC_STRING » jeton » sur cette ligne de code:erreur d'identification prévu dans Xcode

- (id)initWithNibName:(NSString *)@"Landscape.xib" bundle:(NSBundle *)mainBundle { 

et je ne suis pas sûr pourquoi, quelqu'un peut-il aider?

Répondre

4

Dans la déclaration de méthode, vous ne pouvez pas utiliser de littéraux de chaîne pour le nom du paramètre. Déclarer

- (id)initWithNibName:(NSString *)name bundle:(NSBundle *)mainBundle { 
... 

et transmettre en tant que paramètre lorsque @"Landscape.xib" appeler cette méthode

P.S. Je ne sais pas si c'est pertinent pour votre question ou non, mais juste au cas où - l'objectif-c ne supporte pas les valeurs par défaut pour les paramètres de la fonction.

+0

D'accord, je comprends maintenant. Merci pour la réponse rapide – Joe

2

Vous ne pouvez pas passer une chaîne de cette manière. Vous utilisez:

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)mainBundle { 

... 

} 

et l'appeler d'une autre ligne de code comme ceci:

[[Class alloc] initWithNibName:@"Landscape.xib" bundle:[NSBundle mainBundle]];