Classes Superclasses Subclasses
I'm trying to make two subclasses a class:
// Old code
- (void)setPaging {
[pagingScrollView addSubview:self.ImageScrollView];
}
@interface ImageScrollView : UIScrollView <UIScrollViewDelegate> {
UIView *imageView;
NSUInteger index;
}
@property (assign) NSUInteger index;
- (void)displayTiledImageNamed:(CGPDFPageRef)page size:(CGSize)imageSize;
@end
@implementation ImageScrollView
@synthesize index;
// ... my methods ...
@end
Changed to:
// NEW Code__________________________________________________________*
- (void)setPaging {
if (D == 1) {
// error: request for member 'ISVportrate' in something not a
// structure or union
[pagingScrollView addSubview:self.ISVportrate];
} else if (D == 2) {
//error: request for member 'ISVLandscape' in something not a
// structure or union
[pagingScrollView addSubv开发者_JAVA百科iew:self.ISVLandscape];
}
}
@class ISVportrate;
@class ISVLandscape;
@interface ImageScrollView : UIScrollView <UIScrollViewDelegate> {
UIView *imageView;
NSUInteger index;
}
@property (assign) NSUInteger index;
- (void)displayTiledImageNamed:(CGPDFPageRef)page size:(CGSize)imageSize;
@end
@interface ISVportrate : ImageScrollView {}
@end
@interface ISVLandscape : ImageScrollView {}
@end
@implementation ISVportrate : ImageScrollView
// error: property 'index' attempting to use ivar 'index' declared in
// super class of 'ISVportrate'
@synthesize index;
// ... my methods ...
@end
@implementation ISVLandscape : ImageScrollView
// error: property 'index' attempting to use ivar 'index' declared in
// super class of 'ISVLandscape'
@synthesize index;
// ... my methods ...
@end
I am not doing this right, am I? see above I have 4 errors… this is the first time I've made a class… help me understand, I think I've almost got it right.
The @synthesize
goes in the @implementation
of ImageScrollView
, not in the subclass.
self.ISVportrate
doesn't make sense (unless you had a method called -ISVportrate
, which wouldn't make sense, either).
It sounds like you haven't quite grokked object oriented programming yet. You would want to create an appropriate instance of one of your subclasses and assign that as the subview of whatever view contains it....
精彩评论