objective-c - 防止子类方法被触发?

标签 objective-c cocoa cocoa-touch

我确信以前有人问过这个问题,但我搜索后找不到它,所以我提前为在 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.";
}

帮帮我吧!我知道有一个简单的解决方案,但我今天的大脑就是不明白......

最佳答案

您可能可以有另一个返回 True/False 的函数,您可以用它来决定是否要继续处理子级中的其余代码。这个“控制”函数可以依赖于父类中设置的变量

话虽如此,这对我来说听起来是一个有趣的要求。也许您需要重新审视您的类设计和层次结构。

关于objective-c - 防止子类方法被触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5195949/

相关文章:

ios - SQLite - 获取不是以字母开头的记录 - IOS - Objective C

objective-c - 需要知道哪些自定义 UIViews 在点击中

ios - Tesseract OCR 无法识别除法符号 "÷"

macos - 既然 ColorSync Manager API 中的所有内容均已弃用,我如何查找显示配置文件

objective-c - 如何获取已加载到特定包(或二进制文件)内存中的类列表?

iphone - header 搜索路径和库搜索路径之间的区别?

iphone - 如何在循环中创建按钮并为每个按钮分配特定标签

Cocoa 和摆脱无限循环

swift - Swift中的NSObject子类:hash vs hashValue,isEqual vs ==

ios - 以编程方式创建 subview ,然后添加 TapGesture For Action