我一直在想知道如何在類的dealloc
方法中釋放實例變量。假設我有一個名爲myString的一個實例變量,在dealloc中釋放實例變量的正確方法目標C
// MyClass.h
{
NSString *myString;
}
@property(nonatomic,retain) NSString *myString;
// MyClass.m
@synthesize myString;
-(void)dealloc
{
[self setMyString: nil];
[super dealloc];
}
蘋果文檔指出Don’t Use Accessor Methods in Initializer Methods and dealloc
。我發現一些輸入將實例變量設置爲零來釋放實例變量(我在上面的方法dealloc
中執行)。所以,如果這是釋放實例變量的正確方法,那麼爲什麼蘋果說在dealloc
方法中使用訪問器不可取?
正確的方法,恕我直言,是用'ARC' – Alejandro