【发布时间】:2008-11-27 15:50:08
【问题描述】:
我正在使用子类扩展类的功能,并且我正在做一些肮脏的事情,使超类方法在子类的上下文中变得危险(应用程序将挂在循环中)。我知道这不是一个天才的想法,但我正在寻找低调的果实,现在它可以节省我一些时间。哦,这是一项肮脏的工作,但总得有人去做。
底线,我需要从外部阻止该方法,或者在直接调用超类时抛出异常。 (但我仍然在子类中使用它,除非要小心)。
最好的方法是什么?
更新---
所以这就是我的目标。我不是自我回答,因为 Boaz 的回答提到了多种有效的方法来做到这一点,这正是适合我的方式。在子类中,我重写了这样的方法:
- (int)dangerousMethod
{
[NSException raise:@"Danger!" format:@"Do not call send this method directly to this subclass"];
return nil;
}
我将此标记为已回答,但显然这并不意味着它已关闭,欢迎提供进一步的建议。
【问题讨论】:
标签: objective-c cocoa