我假设在objective-c类中,方法需要在.h文件中声明,使其公开可见,或者在.m文件中使用类扩展声明,使其更加私密。
我想没有先声明这个方法,xcode会抱怨,但是我在我的主AppDelegate类中添加了一个方法而没有声明它,一切正常。
我有什么困惑,我应该声明该类的所有方法,或者如果该方法只能被该类使用而没有其他地方可以吗?
答案 0 :(得分:1)
无论如何你要声明方法。在.h文件中
@interface ViewController : UIViewController
-(void)myMethod;
@end
或在.m
的私人界面中#import "ViewController.h"
@interface ViewController ()
-(void)myMethod;
@end
答案 1 :(得分:0)
.h文件中不需要声明所有类方法。 仅声明.h文件中您希望其他人公开访问的那些方法。
答案 2 :(得分:0)
Objective C是一种非常动态的语言,它在运行时解析方法。这就是我们向对象发送消息而不是调用方法的原因(例如在C ++中)。因此,如果编译器没有看到方法声明,那么它并不意味着对象无法在运行时找到它。
因此,您可以在任何位置实际定义ObjC方法(在任何文件中,甚至在不同的库中)。程序编译和链接后,ObjC运行时可以找到所有这些。