Objective-C什么时候在@interface中声明什么方法

Pet*_*rbo 7 iphone methods interface objective-c ios

什么方法应该在@interface类的部分声明?据我所知,描述你的类所做的方法应在该@interface部分中声明,但不应声明其他"帮助"方法.这是我身边的正确理解吗?

Emp*_*ack 6

一种方法是声明instance methodsin .h文件.并且,使用a 声明private methods内部..mCategory

例如,在MyOwnClass.h文件中.

@interface MyOwnClass

- (void)aInstanceMethod;

@end
Run Code Online (Sandbox Code Playgroud)

并且,在您的MyOwnClass.m文件中,在@implementation块之前,

@interface MyOwnClass (MyPrivateMethods)

- (void)aPrivateMethod;

@end
Run Code Online (Sandbox Code Playgroud)

  • NB编译器不会检查类别中声明的方法是否实际实现.您也可以使用类扩展,它类似于匿名类,但它声明的方法必须在主`@ implementation`块中实现. (2认同)

Rap*_*sso 6

当您希望外部类可以访问它时,您通常应该将方法添加到.h文件中(公共方法).

当它们是私有的(仅在类内部使用时),只需将它们放在.m文件中即可.

无论如何,这只是一种模式.由于Objective-C适用于消息,即使您没有在.h文件中设置方法,外部文件也可以访问它,但至少您的自动完成不会显示它.