2012-04-14 52 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將爲您創建一個實例變量。

相關問題