I got code like this:
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
Game.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 won't compile my project and show me error unknown type 'Player' in Match.h when I declare *firstPlayer.
I tried cleaning project, rebuilding it but without any result...
The normal way to solve this cycles is to forward declare classes:
In Match.h:
@class Player; @interface Match ... Player * firstPlayer;
and do #import "Player.h
only in Match.m, not
in Match.h
Same for the other two .h files.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With