子类化UIImageView的子类 - 前向声明错误

时间:2013-04-10 23:53:30

标签: iphone ios objective-c subclassing

关于人们遇到与我相同的错误,我已经读过一些问题,但我根本就不理解它们,所以在你去寻找重复的问题之前,也许有人可以向我解释我这个子类交易的错误

我有一个名为swapView的UIImageView的子类,我想要子类来覆盖特殊情况下的方法-(void)count。因为我有任何预先存在的UIKit类,所以我去了子类,但是当我尝试构建并运行项目时,我收到了这个错误:

Attempting to use the forward class 'swapView' as superclass of 'coinView'

我已尝试#importswapView的{​​{1}}声明放入@class swapView,我尝试将导入声明放入coinView.h,但由于这种持续的错误而拒绝构建。如果我将import语句移动到.m文件中,所有对超类的方法和属性的引用(例如coinView.m)也会导致错误。

我做错了什么?

swapView.h

@property (nonatomic) int max;

coinView.h

#import <UIKit/UIKit.h>

#import "ViewController.h"

@class ViewController;

@interface swapView : UIImageView
{
    NSTimer* tmr;
}

@property (nonatomic) int current;
@property (nonatomic) int max;
@property (nonatomic, retain) UIImage* firstImage;
@property (nonatomic, retain) UIImage* secondImage;
@property (nonatomic) BOOL smallMax;

@property (nonatomic, retain) ViewController* pvc;

- (BOOL)testCollision:(CGPoint)point;
- (float)randomFloatBetween:(float)smallNumber bigNumber:(float)bigNumber;

@end

1 个答案:

答案 0 :(得分:1)

对于继承,必须继承超类。

<强> coinView.h

#import "swapView.h"
@interface coinView : swapView
  - (void)count;
  - (void)move;
@end

您在ViewController.h中正在声明并导入swapView,这可能会导致编译器抱怨。

<强> swapView.h

#import <UIKit/UIKit.h>

@class ViewController

@interface swapView : UIImageView
.
.
.
@end