c'est ma classe héritée de UIView: MobileViewproblème d'héritage Objective-C avec 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
J'ai aussi une autre classe qui 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
Maintenant, en une autre classe "vue principale" qui est aussi une sous-classe de UIVIew, j'appelle ceci:
mobile = [[MobileView alloc] initWithFrame:CGRectMake(0, 100, 150, 150)];
***[mobile cannon]***
Maintenant, j'ai une erreur: [UIView canon]: sélecteur non reconnu envoyé à l'instance 0xd1ae00' (je toujours la même erreur si j'utilise [icon1 mobile])
Pourquoi ne regconize pas le mobile un objet MobileView mais un UIView?
je ceci: self = [[UIView alloc] initWithFrame: cadre]; Je suppose que cela a causé le problème. VOUS ÊTES L'HOMME, ALEX. – RoundOutTooSoon
@Alex Est-il nécessaire de réécrire les constructeurs pour toutes les sous-classes? –
Je remplacer les méthodes initWithFrame et dealloc pour sous-classer UIView. D'autres types de sous-classes peuvent nécessiter le remplacement d'autres méthodes. –