关于过度释放.假设我在Test.h中定义了一个实例变量
NSString *mystring;
Run Code Online (Sandbox Code Playgroud)
在我的实现Test.m中,我没有在任何地方初始化变量mystring.但我在dealloc中发布它:
-(void)dealloc {
[mystring release];
}
Run Code Online (Sandbox Code Playgroud)
现在这个过度发布了吗?我一直在dealloc做以下事情,以避免任何问题,但是,这真的有必要吗?
-(void)dealloc {
if (mystring) [mystring release];
}
Run Code Online (Sandbox Code Playgroud)
似乎[nil release]不应该做任何事情,有人可以与班级成员核实这一点吗?