我刚刚开始使用ObjC。我想知道如何查看代码,由我编写或从使用向导创建新类时出现的模板,如何判断方法是否覆盖某些内容。
在Java中,您可以使用@Override标记方法,然后很容易看出它是否覆盖了某些内容。这不是万无一失的,因为@Override是可选的,但是如果我仍然不确定我可以输入它并查看它是否会产生错误。
是查找超类源的唯一方法,还是在框架的情况下读取文档?
答案 0 :(得分:1)
我不知道如何立即看到这一点,但您可以检查super
是否响应
到同一个选择器。例如:
- (void)myMethod
{
// Temporarily add this line. If the compiler does NOT complain,
// "myMethod" overrides a method from some superclass.
[super myMethod];
// ...
}
答案 1 :(得分:0)
您可以使用instancesRespondToSelector来查看您的实例是否在其对象层次结构中具有该方法的实现。
[MyClass instancesRespondToSelector:@selector(myMethod)];
或取决于您需要执行的检查类型
[MyClassSuperClass instancesRespondToSelector:@selector(myMethod)];