2

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

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

  • 更新:我用不正确的术语空类别问了这个问题。我现在将其更改为类扩展
4

2 回答 2

3

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

于 2011-09-17T07:03:30.367 回答
2

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


//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


于 2011-09-17T04:46:14.103 回答