【问题标题】:cannot find interface declaration for 'AbstractPickerView',superclass of 'AttackLayer'找不到“AbstractPickerView”的接口声明,“AttackLayer”的超类
【发布时间】: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


【解决方案1】:

解决了这个问题,我不敢相信我思考了这么多小时,我用@class 替换了接口中的标题导入,移动了 AbstractPickerView.m 中的导入并解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-10
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多