我想了解一下分配具有保留屬性的對象,這樣的事情:目標C:保留VS頁頭 - 再訪
self.viewController = [[RootViewController alloc] init];
:
RootViewController *viewController;
@property (nonatomic, retain) RootViewController *viewController;
@implementation ...
viewController = [[RootViewController alloc] init];
,因爲它做類似的東西是不正確的
因爲這樣會將對象保留計數提高2,並且您將不得不釋放對象兩次,其中一個處於dealloc方法中。
如果我分配我的對象,那麼使用assign屬性會更好嗎?或者什麼時候需要保留一個使用alloc方法分配的對象。
我對這個問題非常困惑,所以請你向我舉例說明這種情況是否有效。
非常感謝,我非常感謝。
問候,
很好的答案。 `assign`完全錯誤。值得注意的是,如果稍後通過`self.viewController = someOther;`重設值,那麼*如果該屬性爲`assign`,則*不會是所有權轉移。 – bbum 2010-12-23 18:35:25