2010-04-21 107 views

回答

3

兩者都是有效的,即使通常建議將它放在屬性上。

與屬性的區別在於它可從外部獲得,並且使用getter/setter方法。
這也允許屬性限定符,如非原子和保留,通常爲IBOutlets設置。

0

我這樣做,並在.m文件中合成它。我不是100%,他們都是必不可少的,但它並沒有受到傷害。

+1

給出細節(以及一些警告)只是不這樣做... – Macmade 2010-04-21 14:34:33

+3

如何解釋你的位置,Macmade?我看到在適用IBOutlet的ethos中有很多代碼。 – 2010-04-21 15:55:38

5

IBOutlet可以是ivars或財產聲明上的標記。

有一個細微的差別。 IBOutlet屬性通過訪問方法,而IBOutlet ivars是直接ivar訪問。

主要區別在於,如果保留了IBOutlet屬性,則必須在-dealloc中發佈它,而您通常不需要對IBOutlet ivar進行任何操作。 IBOutlet屬性的好處是你可以獲得所有屬性的有用特徵。

+0

保留部分不正確。 IBOutlet與它無關。只有使用'retain'限定符指定時,該屬性纔會保留。但是你也可以指定'assign'。然後,財產將不會被保留時設置! – Macmade 2010-04-21 14:26:23

+1

請注意該陳述中的「如果」。 – Giao 2010-04-21 14:28:41

+0

我的錯誤,對不起:) – Macmade 2010-04-21 14:31:33

1

都是有效的,我建議你使用@property