gpt4 book ai didi

objective-c - 从父类(super class)的方法实现返回

转载 作者:行者123 更新时间:2023-12-03 17:34:05 25 4
gpt4 key购买 nike

我有一个父类Parent和一个子类ChildParent 有一个由 Child 扩展的方法 doSomething (它在执行自己的操作之前调用 [super doSomething] )。

在某些情况下, parent 会检查一些细节并知道不应再发生任何事情,因此会返回。我期望父实现中有一个 return 语句来阻止子实现继续,但情况似乎并非如此。子进程的实现仍在继续。这个诊断正确吗?

如果是这样,我怎样才能实现我想要的目标?

在我的实际应用程序中,父级正在做大量工作来检查它是否应该返回,我不希望在其多个子级中的每个子级中重复这些代码。

最佳答案

一种方法是将 doSomething 更改为返回值 BOOL。如果该方法完全完成,则返回 YES,否则返回 NO。然后你可以这样做:

父级:

- (BOOL)doSomething {
// lots of processing
if (/* can't finish for some reason */) {
return NO;
} else {
return YES;
}

child :

- (BOOL)doSomething {
BOOL res = [super doSomething];
if (res) {
// complete child processing
}

return res;
}

关于objective-c - 从父类(super class)的方法实现返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com