【发布时间】:2012-01-19 18:14:42
【问题描述】:
当然,在头文件中声明所有方法是最佳实践,所以当 xcode 警告我可能找不到实例方法时,我很感激。但是,在某些情况下,我没有在标头中声明方法,也没有收到警告。这些绝对不是任何委托方法,那么还有哪些情况会导致这种行为呢?
【问题讨论】:
标签: iphone objective-c xcode
当然,在头文件中声明所有方法是最佳实践,所以当 xcode 警告我可能找不到实例方法时,我很感激。但是,在某些情况下,我没有在标头中声明方法,也没有收到警告。这些绝对不是任何委托方法,那么还有哪些情况会导致这种行为呢?
【问题讨论】:
标签: iphone objective-c xcode
该方法可能在使用时已经在实现中定义。即,如果正在使用的方法高于它在实现文件中使用的位置,则编译器知道方法签名,所以一切正常。
【讨论】:
如果您的方法没有在头文件(或类扩展)中声明,但在另一个引用它的方法之前出现,那么您将不会收到错误。
【讨论】:
如果你在在你的方法体定义下调用你的方法,它会起作用,例如:
-(void)foo { bla }
[self foo];
如果你也以相反的方式崩溃(如果方法不在你的头文件中):
[self foo];
-(void)foo { bla }
【讨论】: