Objective-c声明方法

时间:2012-10-25 09:35:53

标签: objective-c syntax methods

  

可能重复:
  Private Method Declaration Objective-C

我假设在objective-c类中,方法需要在.h文件中声明,使其公开可见,或者在.m文件中使用类扩展声明,使其更加私密。

我想没有先声明这个方法,xcode会抱怨,但是我在我的主AppDelegate类中添加了一个方法而没有声明它,一切正常。

我有什么困惑,我应该声明该类的所有方法,或者如果该方法只能被该类使用而没有其他地方可以吗?

3 个答案:

答案 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运行时可以找到所有这些。