это мой наследуется класс UIView: MobileViewObjective-C проблема наследования с UIView
@interface MobileView : UIView {
IconView *icon1;
IconView *userCar;
id goTimer;
}
@property (nonatomic, retain) IconView *icon1;
@property (nonatomic, retain) IconView *userCar;
-(void) goRightInSeconds: (NSInteger)secs;
-(IconView *) cannon;
@end
У меня есть еще один класс, который inheritated UIView: IconView
@interface IconView : UIView {
UIImage *iconImage;
CGFloat originalX, originalY;
}
@property (nonatomic, retain) UIImage *iconImage;
-(id)initWithImage: (UIImage *)image andFrame:(CGRect) rect;
-(CGFloat) getX;
-(CGFloat) getY;
@end
Теперь, другой класс «основного вида», который также является подклассом UIVIew, я называю это:
mobile = [[MobileView alloc] initWithFrame:CGRectMake(0, 100, 150, 150)];
***[mobile cannon]***
Теперь у меня есть ошибка: [UIView пушечной]: непризнанный селектор направил к экземпляру 0xd1ae00' (я до сих пор та же ошибка, если я использую [мобильный icon1])
Почему это не regconize мобильного телефона как объект MobileView, но UIView?
Я использовал это: самостоятельно = [[UIView Alloc] initWithFrame: рама]; Я предполагаю, что это вызвало проблему. ВЫ ЛЮДИ, АЛЕКС. – RoundOutTooSoon
@Alex Нужно ли переписывать конструкторы для всех подклассов? –
Я бы переопределил методы initWithFrame и dealloc для подкласса UIView. Другие типы подклассов могут потребовать переопределения других методов. –