2010-06-16 51 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約定保留它。

相關問題