gpt4 book ai didi

cocoa - super 中的方法无论如何都会被子类化 (Cocoa)

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

抱歉,如果这是转发,但我无法完全搜索它,因为我无法用几句话解释它。我有一个包含很多方法的父类(super class),但它们总是(不是全部)被子类化。我需要从 super 运行这些方法。我可以将 super 中的方法保留为空,或者我可以不在 super 中键入它们,但无论如何都可以调用它们,就像 [self myMethod] 一样,它会调用我的子类方法,即使它不存在于极好的。这可行,但 Xcode 给了我一个错误。 “superclass”可能不会响应“-subclassmethod”

我应该怎么做才能不会收到警告?

最佳答案

我更喜欢在父类(super class)中定义未实现的方法,如下所示:

@interface GLObject : NSObject {}
- (id)someSubclassProvidedMethod;
@end

@implementation GLObject
- (id)someSubclassProvidedMethod {
[self doesNotRecognizeSelector: _cmd];
}
@end

这几乎完全是多余的,因为如果我根本没有定义该方法,Objective-C 运行时最终会调用 -doesNotRecognizeSelector: 。但因为我确实定义了它,所以它位于类的接口(interface)中,这既使编译器满意,又为我提供了一些文档。

关于cocoa - super 中的方法无论如何都会被子类化 (Cocoa),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2577608/

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