42 votes

xcode nom de type inconnu

J'ai un code comme ça :

Match.h :

#import <Foundation/Foundation.h>
#import "player.h"

@interface Match : NSObject
{
    Player *firstPlayer;
}

@property (nonatomic, retain) Player *firstPlayer;

@end

Player.h :

#import <Foundation/Foundation.h>
#import "game.h"
@interface Player : NSObject
{
}

- (Player *) init;

//- (NSInteger)numberOfPoints;
//- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;

@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *surname;
@property (nonatomic, assign) NSInteger *player_id;
@property (nonatomic, retain) NSString *notes;

@end

Jeu.h :

#import <Foundation/Foundation.h>
#import "match.h"
#import "player.h"

@interface Game : NSObject
{
    NSMutableArray *matches;
    NSMutableArray *players;
    NSString *name;
}

-(Game *) init;

@property (nonatomic, retain) NSMutableArray *matches;
@property (nonatomic, retain) NSMutableArray *players;
@property (nonatomic, retain) NSString *name;

@end

Xcode ne compile pas mon projet et me montre une erreur de type inconnu 'Player' dans Match.h lorsque je déclare *firstPlayer.

J'ai essayé de nettoyer le projet, de le reconstruire mais sans résultat...

125voto

ott-- Points 4124

La façon normale de résoudre ces cycles est de déclarer les classes en avant :

Dans Match.h :

@class Player;
@interface Match ...
    Player * firstPlayer;

et faire #import "Player.h uniquement en Match.m, not dans Match.h

Idem pour les deux autres fichiers .h.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X