阿班
@protocol ClassADelegate;
@interface ClassA : UIView
// Some properties
- (void)setupModalView;
@end
@protocol ClassADelegate <NSObject>
// Some delegate methos
@end
上午班
- (void)setupModalView{
// Some code
}
因此,我创建了我的类“A”的子类,并将其命名为“B”。
溴化氢
@interface ClassB : ClassA
@end
所以,B.m
我想覆盖setupModalView
我的类“A”中的方法。我这样做了:
BM
- (void)setupModalView{
NSLog(@"Done.");
}
我认为它应该工作,但它没有。我究竟做错了什么?(澄清一下:我希望setupModalView
B 班做一些与 A 班完全不同的事情setupModalView
)。
编辑:我正在像这样实例化 ClassB:
ClassB *classB = ({
[[ClassB alloc]initWithNotification:nil]; // Notification is a custom NSObject... nvm
});
classB.delegate = self;
[classB show];
编辑 2:这是我的 ClassA 的初始化方法:
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
}
return self;
}
- (instancetype)initWithNotification:(Notification *)notification{
self = [super init];
if (self) {
self = [[ClassA alloc]initWithFrame:[UIScreen mainScreen].bounds];
[self configureDetailView];
}
return self;
}
- (instancetype)init{
self = [super init];
if (self) {
}
return self;
}