2013-02-07 27 views
1

我正在第一次學習XCode和iOS。使用鼠標和Ctrl鍵創建插座時,@synthesize會發生什麼?在我看的教程中,它得到了自動處理,但我沒有在我的Xcode中看到它。我正在運行最新的OS X和最新的Xcode。以最新的XCode合成

如果沒有自動處理,我們還可以覆蓋getter和setter嗎?

說是這樣的:(!0.8)

@synthesize topSpeed = _topSpeed; 

(void)setTopSpeed:(double)speed 
{ 
    if((speed < 1) && (speed > 0) _topSpeed = speed; 
} 

回答

4

當你擁有最新的OS X和Xcode中(4.6),你不需要爲每個在財產申報明確指定@synthesize @接口 - 除非你要去,如果你想使用不同的名稱,如您的

@synthesize topSpeed = _topSpeed; 

例如強調你也可以覆蓋的getter,和setter(如果property屬性是覆蓋兩個setter和getter或不只讀)作爲您的代碼

(void)setTopSpeed:(double)speed 
{ 
    if((speed < 1) && (speed > 0) _topSpeed = speed; 
} 

顯示。

+2

好的,最新的xcode是否也增加了_(下劃線)? – cdub

+2

是的,默認情況下,Xcode前綴一個下劃線。 –

+1

使用'self.topSpeed'而不是'_topSpeed'總是一個好習慣 –