我确信这个问题之前已经被问过了,但是我搜索了并且找不到它,所以我提前在SO上复制内容而道歉。这就是说:在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.";
}
帮我出去!我知道有一个简单的解决方案,但我的大脑只是今天不捡起来......
这是一个代码味道给我。只要你需要开始做这样的事情在你的代码,你需要退后一步,然后问自己,为什么你需要做这个,然后重新设计你的代码,所以你不必。 – Jasarien 2011-03-04 16:13:42
@Jasarien我同意。我正在维护一些设计不佳的代码。这不是我习惯在我的代码中做的事情,因此我为什么不熟悉。这是周五的补丁。目前正在进行重新架构。感谢您的建议,但! – lewiguez 2011-04-03 18:34:36
如果您正在检查互联网连接,我可以很容易地看到您如何做这种事情。你想检查父类中的互联网连接。你不想重复代码,并在每一个孩子课上做。因此,让孩子说类调用超和超你发现没有互联网连接,所以现在要阻止继续对所有的子类。你是做什么? – 2013-08-22 20:21:59