0

可能重复:
私有方法声明 Objective-C

我假设在 Objective-C 类方法中需要在 .h 文件中声明,使它们公开可见,或者在 .m 文件中使用类扩展名使其更加私有。

我认为如果没有首先声明该方法,xcode 会抱怨,但是我在我的主 AppDelegate 类中添加了一个方法而不声明它,并且一切正常。

我混淆了哪一部分,我应该声明该类的所有方法,还是如果该方法仅由该类使用而没有其他地方使用,是否可以?

4

3 回答 3

1

无论如何,您声明方法。在 .h 文件中

@interface ViewController : UIViewController
-(void)myMethod;
@end

或在 .m 的私有接口中

#import "ViewController.h"

@interface ViewController ()
-(void)myMethod;
@end
于 2012-10-25T09:41:01.303 回答
0

.h 文件中不需要声明所有类方法。仅在 .h 文件中声明您希望对其他人公开访问的那些方法。

于 2012-10-25T09:39:34.830 回答
0

Objective C 是非常动态的语言,它在运行时解析方法。这就是我们向对象发送消息而不是调用方法的原因(例如在 C++ 中)。因此,如果编译器没有看到方法声明,并不意味着该对象在运行时找不到它。

所以你实际上可以在任何你想要的地方定义 ObjC 方法(在任何文件中,甚至在不同的库中)。程序编译和链接的ObjC运行时都可以找到。

于 2012-10-25T09:39:48.687 回答