gpt4 book ai didi

objective-c - 未知类型名称

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:09:28 26 4
gpt4 key购买 nike

我的 .h 文件:

#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "GameData.h"
#import "PROBattleScene.h"

@interface PROBattleAI : NSObject {
BattleType type;
PROBattleScene *scene;
}

-(id)initWithType:(BattleType)_type andBattleInformation:(NSMutableDictionary*)_information andScene:(PROBattleScene*)_scene;
-(void)dealloc;
@end

但是在 PROBattleScene *scene; 行上,我从 Xcode 收到了未知类型名称错误。

我在这里尝试了答案:xcode unknown type name但我已经在这样做了(但行不通)。

为什么会这样?我已经在导入我的 PROBattleScene.h 文件,为什么它没有被识别?

编辑:以及请求的PROBattleScene.h内容:

#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import "GameData.h"
#import "SimpleAudioEngine.h"

#import "PROBattleBackground.h"
#import "PROBattleAI.h"

@interface PROBattleScene : CCLayer {
NSMutableDictionary *battleInformation;
NSMutableArray *localPlayerPartyData;

PROBattleBackground *background;

CCNode *base;

PROBattleAI *enemyAI;
}
+(CCScene*)scene;
-(id)init;
-(void)loadBattleInformation;
-(void)loadBGM;
-(void)loadBackground;
-(void)loadBase;
-(void)loadEnemyAI;
-(void)beginBattle;

@end

最佳答案

你有一个循环依赖。 PROBattleAI 导入 PROBattleScene 导入 PROBattleAI 导入 PROBattleScene

尽可能在标题中使用@class PROBattleWhatever。仅导入协议(protocol)定义或父类(super class)的 header 。

编辑 好吧,上面的措辞非常糟糕……而且具有误导性。这是(我相信)详细发生的事情。您的 PROBattleAI 导入 PROBattleScene,PROBattleScene 然后导入 PROBattleAI,然后 PROBattleAI 再次导入 PROBattleScene(所有这些都在它到达任一文件中的任何代码之前)。这次导入将忽略 PROBattleScene,因为它已经被导入,并且由于文件被跳过,您将收到未定义的类型错误。

关于objective-c - 未知类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11594336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com