为什么xcode有时会发现未在头文件中声明的实例方法?

时间:2012-01-19 09:57:11

标签: iphone objective-c xcode

当然最好在头文件中声明所有方法,所以我很感激xcode警告我的时候可能找不到实例方法。但是,有些情况下我没有在标题中声明方法,而且我没有收到警告。这些绝对不是任何委托方法,那么其他什么情况会导致这种行为?

3 个答案:

答案 0 :(得分:2)

该方法可能在使用时已在实现中定义。即如果正在使用的方法高于它在实现文件中使用的位置,则编译器知道方法签名,所以一切正常。

答案 1 :(得分:1)

如果您的方法未在头文件(或类扩展名)中声明,但是在另一个引用它的方法之前,那么您将不会收到错误。

答案 2 :(得分:1)

如果您在方法正文定义中>您的方法,则可以使用,例如:

-(void)foo { bla }
[self foo];

如果您反过来也崩溃了(如果方法不在您的头文件中):

[self foo];
-(void)foo { bla }