2010-05-11 50 views
4

这是一个很不错的问题 - 我正在看一些Cocoa示例代码,在.m文件中有@interface块以及头文件。例如,在AppDelegate类头中,UIWindow和UI导航被定义为实例变量,但@property声明实际上是在实现文件中进行的。是否有这样的功能性原因,是一种文体选择,还是......?我的@implementation中有@接口 - 为什么?

回答

7

如果您只需要一些自定义委托在内部与另一个类一起工作,因此不需要在头中公布接口。
它只是增加了不必要的噪音,使得可能没有为公共使用而设计的接口可用,或者在类的上下文之外无用。

这同样适用于该类的方法和属性 - 如果你想使用声明的属性为实例变量,但不希望他们可以公开访问,你不neccessarily需要声明他们的头。类扩展允许你这样做,参见例如"How to make a private property?"

+0

啊,谢谢,这很有道理! – 2010-05-11 22:06:30

相关问题