【发布时间】:2014-03-28 11:30:32
【问题描述】:
我一直想知道在类的dealloc 方法中释放实例变量的正确方法。假设我有一个名为 myString 的实例变量,
// MyClass.h
{
NSString *myString;
}
@property(nonatomic,retain) NSString *myString;
// MyClass.m
@synthesize myString;
-(void)dealloc
{
[self setMyString: nil];
[super dealloc];
}
Apple 文档指出Don’t Use Accessor Methods in Initializer Methods and dealloc。我发现一些输入将实例变量设置为 nil 可以完成释放实例变量的工作(我在上面的 dealloc 方法中所做的)。那么,如果这是释放实例变量的正确方法,那么为什么 Apple 说不建议在 dealloc 方法中使用访问器呢?
【问题讨论】:
-
正确的方法,恕我直言,使用
ARC
标签: objective-c cocoa instance-variables accessor dealloc