erreur avec Xcode 6 'Définition d'interface en double pour la class' ViewController '

Je suis en train de programmer une application suite à un tutoriel de base de 2012 en utilisant Xcode 6. Le tutoriel a été fait en utilisant Xcode 4.3 et je suis sûr de l'avoir suivi exactement comme j'ai vérifié en regardant les zones à problèmes. Je suis assez nouveau dans ce type de programmation car je m'occupe habituellement du développement de jeux et de robots, mais je l'ai fait un peu auparavant.

Erreur:

Définition d'interface en double pour la class 'ViewController'

C'est le code:

#import "ViewController.h" @interface ViewController // First error here. @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } -(void) presentMessage:(NSSsortingng *)message { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My Title" message: message delegate: nil cancelButtonTitle:@"Ok" otherButtonTitles: nil ]; [alert show]; [alert release]; // second error. } -(void) scheduleLocalNotificationWithDate:(NSDate *)fireDate { UILocalNotification *notification = [[UILocalNotification alloc] init]; ... [notification release]; // third error } -(IBAction) buttonTapped:(id)sender { dateFormatter... [dateFormatter release]; // fourth error } @end 

Désolé pour le formatting bizarre, mais je n'ai pas réussi à le formater en code.

Merci d'avance

Vous devez append () à votre ligne @interface ViewController .

@interface ViewController()

C'est ce que l'on appelle une catégorie privée dans iOS, et elle est utilisée pour définir des methods et des propriétés privées dans votre file d'implémentation.

Dans votre file .h, vous findez l'interface déclarée comme @interface ViewController , et c'est pourquoi le compilateur pense que vous le @interface ViewController deux fois. L'utilisation d'une catégorie privée ( @interface ViewController() ) indique au compilateur que vous étendez la fonctionnalité de votre interface déjà définie (appelée ViewController), en ajoutant des methods et des propriétés privées.

Une solution simple ici .. il a travaillé pour moi

Accédez au schéma d'édition -> Sélectionnez Générer -> Option de création décochez la case Paralléliser la construction

Maintenant, lancez votre application