这是我的GameEngine.h:

#import <Foundation/Foundation.h>
#import "GameArray.h";


@interface GameEngine : NSObject {
    GameArray *gameButtonsArray;
}

@property (nonatomic, retain) GameArray *gameButtonsArray;


这是我的GameArray.h:

#import <Foundation/Foundation.h>
#import "MyAppDelegate.h";

@interface GameArray : NSObject {
    NSMutableArray *gameButtonsArray;

}
@property (nonatomic, retain) NSMutableArray *gameButtonsArray;


在我的GameEngine.h中,它会一直提示我的“ expected specifier-qualifier-list”错误,错误提示“ GameArray之前的预期specifier-qualifier-list”,这是怎么回事?

最佳答案

这是最佳做法。

游戏引擎

#import <Foundation/Foundation.h>

@class GameArray;

@interface GameEngine : NSObject {
    GameArray *gameButtonsArray;
}

@property (nonatomic, retain) GameArray *gameButtonsArray;


然后在GameEngine.m中

#import "GameEngine.h"
#import "GameArray.h"

@implementation GameEngine
//...
@end


这样可以防止循环引用,其中一个头导入第二个头,第二个头导入第一个头,第二个头导入第二个头,依此类推。

关于objective-c - “预期的说明者限定词列表”错误是怎么回事,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2616334/

10-09 20:36