我确信此问题之前已经被问过,但是我搜索过并找不到它,所以我提前道歉在此处复制内容。
话虽如此:在Objective-C中,在重写方法中,您可以使用[super methodName]
之类的方法调用父类方法
但是如何防止其余代码在父类中执行?可能是因为它是星期五,但我盯着我的显示器几分钟而且无法超越它。
示例(在子类中):
- (void)methodName
{
[super methodName];
//Everything below this line shouldn't execute if tell it not to from the parent
NSString *aString = @"This should never be called.";
}
帮帮我吧!我知道这是一个简单的解决方案,但我的大脑今天并没有把它拿起来......
答案 0 :(得分:1)
您可能有另一个函数返回True / False,您可以使用它来决定是否要继续处理孩子中的剩余代码。这个'control'函数可以依赖于父类
中设置的变量话虽如此,这听起来对我来说是一个有趣的要求。也许你需要再看看你的班级设计和等级。
答案 1 :(得分:0)
您可以测试对象类型并确定您是否要运行其他代码,例如:
if (![myObject isKindOfClass:[MyChildObject class]]
{
//run only superclass code
}
在我写这篇文章时,我不禁想知道你是否对如何设置课程没有任何问题。如果你的设计是现场的,你不应该经历这些扭曲。