2012-04-14 50 views

回答

7

这是因为一般属性不必与您的类的任何已声明的实例变量相关。您可能拥有一个属性,并且不在您的课程标题中包含变量。这就是为什么你必须声明它的类型。

使用属性而不是变量使您的标题变得干净,隐藏了实现。

所以,你可以声明一个属性,然后@synthesize

@interface Peg : NSObject 

@property char color; 


@implementation Peg 

@synthesize color; 

@end 
+0

这是否意味着一般情况下它更简洁,省略实例变量?离开或不离开,仍然有一个“颜色”属性使用? – 2012-04-14 09:10:43

+2

是的,把它扔掉 – 2012-04-14 09:11:47

+1

你也可以省略大括号。 '@interface Peg:NSObject @property char color;'等等。 – 2012-04-14 17:54:51

1

只需使用以下

@interface Peg : NSObject {} 

@property char color; 
2

事实上,它不再是需要的,铿锵的x64至少在编译时。如果您省略实例变量,则@synthesize将为您创建一个实例变量。

相关问题