1

我已经阅读了一个又一个关于人们遇到与我相同的错误的问题,但我根本不理解他们,所以在你搜索重复的问题之前,也许有人可以向我解释我在这个子类交易中做错了什么。

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

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

我已经尝试将 和 的#import语句都放入swapView并且我尝试将 import 语句放入,但由于此持续错误,它拒绝构建。如果我将 import 语句移动到 .m 文件中,所有对超类方法和属性的引用,例如也会导致错误。@class swapViewcoinView.hcoinView.m@property (nonatomic) int max;

我究竟做错了什么?

交换视图.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

coinView.h

#import "swapView.h"

@class swapView;

@interface coinView : swapView

- (void)count;
- (void)move;

@end
4

1 回答 1

1

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

coinView.h

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

您在您的 中都向前声明和导入ViewController.hswapView这可能会导致编译器抱怨。

交换视图.h

#import <UIKit/UIKit.h>

@class ViewController

@interface swapView : UIImageView
.
.
.
@end
于 2013-04-11T00:41:37.193 回答