2012-04-30 57 views
4

我注意到,測試與煎茶測試在Xcode中視圖控制器的推薦方法是通過與爲什麼我們在iOS中測試時指定「弱」?

@property (nonatomic, readwrite, weak) MyMainViewController* mainViewController; 

爲什麼不

@property (nonatomic, strong) MyMainViewController* mainViewController; 

實例呢?

+1

你從哪裏看到這種用法? –

回答

2

readwrite不是嚴格必要的,因爲它是默認值。至於強者與弱者,使用弱者的主要原因是爲了避免引用循環(即兩個對象彼此具有強引用,以致它們永遠不會被釋放)。

1

正如@borrrden所提到的,當試圖避免保留週期時,弱引用是有用的。

如果你正在尋找弱引用,我強烈推薦閱讀Mike Ash的this post。理解調零弱參考和非零弱參考之間的區別很重要。

相關問題