【发布时间】:2012-04-22 15:28:43
【问题描述】:
一段时间以来,我一直在摸索这个问题,希望多一双眼睛会有所帮助:我收到“找不到“AbstractPickerView”的接口声明,“AttackLayer”的超类。麻烦是我已经导入了所有必要的头文件,我唯一能想到的就是多级继承
这里是接口:
@interface AttackLayer : AbstractPickerView <<< this is the one which gets the error
@interface AbstractPickerView: AbstractLayer <UIPickerViewDelegate>
@interface AbstractLayer : CCLayer
谁能看出这里出了什么问题?
#import <Foundation/Foundation.h>
#import "AbstractPickerView.h"
@interface AttackLayer : AbstractPickerView
{
CCMenu *buyPowerButton;
CCMenu *finishBuyPower;
id playerUI;
}
-(id) init:(PlayerController *)playerControl withObject:(id)object;
-(void)spendAttack:(id)sender;
-(void)spendResist:(id)sender;
-(void)transferPower:(id)sender;
-(void)timeOut;
-(void)commenceAttack:(id)sender;
-(void)appear;
-(void)buyPower:(id)sender;
-(void)reloadButtons;
-(void)buyPowerButtons;
-(void)cleanUpPicker:(id)sender;
@property(nonatomic,retain)id playerUI;
@property(nonatomic,retain) CCMenu *button2;
@property(nonatomic,retain) CCMenu *button3;
@property(nonatomic,retain) CCMenu *buyPowerButton;
@property(nonatomic,retain) CCMenu *finishBuyPower;
@property(nonatomic,retain)CCMenu *starMenu;
@end
【问题讨论】:
-
能否请您发布您的整个 AttackLayer 界面(AttackLayer.h)
-
我猜这是一个循环包含。请发布“AbstractPickerView.h”。
-
解决了这个问题,我不敢相信我思考了这么多小时,我用@class替换了接口中包含的标题,并替换了.m AbstractPickerView.h中的导入,并且修复了问题
-
Lol m 迟到了,但我的猜测是正确的,如果你做@class 你不会从那个头文件中得到所有东西......它只是让编译器知道有这样的东西,但可以访问变量和我们需要导入该标头的方法;)
-
你不会相信我花了多长时间思考这个 LOL 我快疯了 :) - 谢谢老兄
标签: iphone objective-c ios inheritance