Я прочитал вопрос после вопроса о том, что люди получают ту же ошибку, что и я, но я просто не понимаю их, поэтому прежде чем вы начнете искать повторяющиеся вопросы, может быть, кто-то может объяснить мне что я делаю неправильно с этой подклассовой сделкой.Подкласс подкласса UIImageView - ошибки декларации в прямом направлении
У меня есть подкласс UIImageView под названием swapView
, что я хочу подкласс переопределить метод -(void)count
для особых случаев. Я пошел к подклассу это как у меня есть какой-либо уже существующий класс UIKit, но когда я пытался построить и запустить проект, я получаю эту ошибку:
Attempting to use the forward class 'swapView' as superclass of 'coinView'
Я попытался положить как #import
заявления swapView
и @class swapView
в coinView.h
, и я попытался поставить оператор импорта в coinView.m
, но он отказывается строить из-за этой продолжающейся ошибки. Если я перемещаю оператор import в файл .m, все ссылки на методы и свойства суперкласса, например @property (nonatomic) int max;
, также вызывают ошибки.
Что я делаю неправильно?
swapView.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
Как насчет удалить @class swapView; в coinView.h? – yibuyiqu
Вызывает 'Не удается найти декларацию интерфейса для 'swapView', суперкласс« coinView » – David
Вы уверены, что все правильно написано? Я не получаю ошибок с вашим кодом, если я импортирую swapView.h (а не используя @class) в файл coinView.h. Кстати, вы должны использовать имена ваших классов. – rdelmar