2013-02-13 36 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”。

相关问题