2013-02-13 79 views
0

我正在學習目標C與「Objective C目標C」的書,我到了他解釋的部分,他在@property@synthesize,但即時通訊嘗試瞭解一些東西: 由於聲明setter和getter我必須提供一個參數名稱,在這種情況下,每個只有1個,但是非常積極,可以聲明getter/setter的值大於1. 在這種情況下,編譯器如何知道在使用@property時要生成多少個參數?編譯器如何知道在使用@property時要生成多少個參數?

回答

3

屬性設置器只能接受一個參數,屬性獲取器不能接受任何參數。

有可能有一個方法需要多個參數和設置的東西,但這不是屬性設置器。

+0

謝謝!但有道理,我會有一個需要2個參數的setter?在那種情況下,我將不得不編碼二傳手和吸氣劑我自己吧? – MNY 2013-02-13 00:18:02

+0

正如Chuck所說,對於一個方法來說,採用兩個參數並設置一個或多個屬性是很好的做法,但它並不是真正的傳統Objective-C意義上的setter。 – 2013-02-13 00:26:43

+0

@AndrewMadsen明白了。謝謝哥們 :) – MNY 2013-02-13 00:33:02

2

吸氣劑沒有任何價值。它只返回變量的值。 setter設置變量的值,所以它只有一個參數並且不返回任何東西。如果你的「getter」需要多於一個參數,那麼它不再被稱爲「setter」。

相關問題