为什么Xcode 4.3将@interface ClassName()放在实现文件中?

Gre*_*aro 8 xcode cocoa xcode4

我在Xcode 4.3中创建了一个类,它在正确的位置创建了@interface和@implementation的头文件和实现文件,但实现文件中还有一个@interface,如下所示:

@interface MyClassName ()

@end
Run Code Online (Sandbox Code Playgroud)

为什么Xcode将它放在实现文件中以及它的用途是什么?

谢谢,库兹

Tho*_*ing 13

Xcode自动创建一个类扩展,允许您实现"私有"方法.
类扩展是未命名的类别,已经与Objective-C 2.0一起引入.

类扩展的一个优点是,如果您忘记实现匿名接口中声明的方法之一,编译器将发出警告.