2012-07-24 71 views
0

此前ARC我會在頭聲明IBOulets如下:在ARC下的頭文件中聲明IBOutlets的正確方法?

- (IBOutlet) UIButton * aButton 

@property (nonatomic, retain) IBOutlet UIButton * aButton; 

然後在.m文件

@synthesize aButton; 

什麼是下弧線做上述相當於正確方法是什麼?我只是申報:

@property (weak)IBOutlet UIButton * aButton ? 

謝謝。

+0

這裏有更好的回答您的問題 http://stackoverflow.com/questions/7678469/should-iboutlets-be-strong-or-weak-under -arc – 2012-07-24 14:41:18

+0

文檔說你應該爲插座使用'strong'指針,但是如果你在'UIView'內的靜態插座上使用'weak'或者'unsafe_unretained'指針,這個指針也會被'strong'指針捕獲,你將來不會有任何問題。 – holex 2012-07-24 14:43:26

+0

您曾經聲明IBOutlet就像那樣...? – TheAmateurProgrammer 2012-07-24 14:58:21

回答

1

在某些情況下,您可能需要更改strong/weak屬性。看一看:Should IBOutlets be strong or weak under ARC?

enter image description here

+0

是的,謝謝 - 我讀過,但我不確定什麼是「鏈接到文件所有者的頂級對象」的意思 – GuybrushThreepwood 2012-07-24 14:46:45

+1

mattjgalloway的評論總結了這個概念:「它意味着NIB中位於根級別的對象,即說實例化另一種觀點並不直接作爲主要觀點的子視圖,那麼它需要有一個強有力的參考。「當您在界面生成器中查看NIB的對象時,大部分嵌套在主視圖下。這些可能是弱引用。如果您在根級別有任何其他視圖,那麼這些視圖需要被強引用。 – 2012-07-24 14:56:10

3
@property (strong)IBOutlet UIButton *aButton