我宣布ParentClass
。
然后ChildClass: ParentClass
在“在ParentClass中执行某些操作”后,是否可以在ChildClass中中断重写的方法,以便“不能在ChildClass中执行某些操作”?
// ParentClass.m
- (void)method
{
/*do something in ParentClass*/
/*try interrupting [child method]*/
}
// ChildClass.m
- (void)method
{
[super method];
/*do something in ChildClass*/
}
答案 0 :(得分:2)
没有。你不能。父类对子类一无所知。如果你遇到这种需要,你需要重新考虑你的结构......
答案 1 :(得分:0)
不,你不能像这样控制调用链上的方法。一个类也不应该有关于它的子类的这种知识。
您必须找到ClassB
检查条件本身的方法,无论是通过-[ClassA method]
的返回值,还是先调用其他方法,或直接检查它。