2010-06-16 63 views
0

所以我打电话这样的:为什么点表示法工作而不是括号?

[leftSwitch hidden:NO]; 

但iPhone模拟器刚刚崩溃(无编译器错误),当我点击调用IBAction为这段代码是从分段控制。

然而,当我将其更改为:

leftSwitch.hidden = NO; 

它的工作......我做了没有其他变化。

回答

11

你想

[leftSwitch setHidden:NO]; 

注意,在名称 - 方法版本自动变化得到设置前缀。

+0

哦,我完全忘了那个...我只是想布尔访问器的“是”前缀 – Devoted 2010-06-16 19:17:44

3

为属性合成的默认方法是

[foo bar] 

它是吸气剂,和

[foo setBar:other] 

其是设置器。

但属性速记允许您通过使用点符号来访问这些方法,因此您似乎像任何其他伊娃一样访问,但您真的在后台使用这些合成属性。在属性声明中,您可以更改默认名称,但最好根据正常的Objective C约定保留它。

相关问题