Objective c XCode 4.2为什么我在.h和.m文件中都看到@interface

Objective c XCode 4.2为什么我在.h和.m文件中都看到@interface,objective-c,ios,xcode,Objective C,Ios,Xcode,为什么我会在我创建的UIViewController文件中看到@interface两次(在.h和.m文件中)。在.m文件中的文件看起来像一个构造函数。是吗 .h文件 @interface BlackTimer : UIViewController @end .m文件 @interface ViewController () @end 通常在.m文件中放置私有方法的所有声明 这样写“私人”(或类似的东西)是一个很好的用法: @interface ViewController (priv

为什么我会在我创建的UIViewController文件中看到@interface两次(在.h和.m文件中)。在.m文件中的文件看起来像一个构造函数。是吗

.h文件

@interface BlackTimer : UIViewController 


@end
.m文件

@interface ViewController ()

@end

通常在.m文件中放置私有方法的所有声明

这样写“私人”(或类似的东西)是一个很好的用法:

@interface ViewController (private)

-(void)myPrivateMethod;

@end

.m文件中的@接口称为类扩展名。这是一个很好的链接,可以解释它。希望这能有所帮助。
是关于类扩展的Apple文档。

实现文件(.m)中的
@interface ViewController()
定义是一个匿名类别。它允许定义类实现的IVAR、属性和消息,而无需向导入公共接口(.h)的其他对象公开它们.

这里是另一个与您的评论相关的SO问题。更好的是:该类别根本没有名称,因为您将有一个类扩展,而不是什么可以更好地使用编译器。请参阅qegals答案。可能的重复项