2012-02-02 70 views
1

如果我這樣做:屬性可以保留一個自動釋放的對象?

@property (nonatomic, retain) SomeObject* someInstance;

爲什麼不someInstance仍然存在,甚至當我在使用它的自動釋放初始化?

例如:

someInstance=[SomeObject autoreleaseMethod];

我希望someInstance保留它在這種情況下,這樣你就可以在以後使用someInstance,但是這是不是真的?

回答

3

如果您使用它的setter,您的財產將只保留該物件。在你的例子中你忘了self.

self.someInstance = [SomeObject autoreleasedObject]; 
+0

啊!當然。謝謝。如果我使用'alloc'方法,如果我使用'self.property'的話,我必須釋放兩次? – johnbakers 2012-02-02 14:22:08

+0

一旦你完成使用它,在你創建它的範圍內。一旦(在這個例子中)自我完成使用它,通常在它的dealloc方法.. – 2012-02-02 14:26:25