伪私有方法的实现文件中的方法原型?

Ran*_*all 1 oop iphone xcode objective-c ios

我有一些方法,我没有在我的类的接口中声明,因为只有类中的代码应该使用它们.但是当方法想要调用在它们下面实现的方法时,我的方法的安排会产生一些"......可能不响应选择器..."警告.

有什么办法可以在我的实现文件中为这些伪私有方法声明原型,这样我就不会收到这些警告了吗?

alb*_*amg 7

您可以使用类扩展.我更喜欢它们而不是类别(为此),因为它们声明的方法必须@implementation在相应类的主块中实现.

类通常具有公开声明的API,然后私有地声明其他方法,仅供类所在的类或框架使用.您可以在上面提到的私有头文件或实现文件中的类别(或多个类别)中声明此类方法.这可行,但编译器无法验证是否已实现所有声明的方法.

类扩展允许您在主类块以外的位置为类声明其他必需的方法@interface

你声明一个这样的类扩展:

@interface MyObject () // No name is given in the parentheses
Run Code Online (Sandbox Code Playgroud)