类扩展如何作为实现私有方法的手段

时间:2011-09-17 04:31:46

标签: objective-c categories objective-c-category class-extensions

我认为在Objective-C中声明“私有方法”的一种流行方式是创建其类扩展并声明您想要将其作为私有方法。

我想更详细地了解类扩展如何使方法作为私有方式工作。

  • 更新:我用空类别一词提出这个问题是不正确的。我现在将其更改为类扩展

2 个答案:

答案 0 :(得分:3)

这不是一个“空类别”,它是class extension。在我提供的链接上阅读Bbum对它们的解释。

答案 1 :(得分:1)

那是因为你在实现文件中创建了空类,而不是头文件,因此其他类无法访问它。


//TestClass.h

@interface TestClass : NSObject 
{
}

-(void)publicMethod;

@end

//TestClass.m

@interface TestClass()

-(void)privateMethod;

@end

@implementation TestClass

-(void)publicMethod
{
NSLog (@"public");
}

-(void)privateMethod
{
NSLog (@"private");
}

@end