小编Dud*_*ude的帖子

objective-c以dealloc方法释放未初始化的类成员

关于过度释放.假设我在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]不应该做任何事情,有人可以与班级成员核实这一点吗?

iphone cocoa-touch objective-c

2
推荐指数
1
解决办法
395
查看次数

标签 统计

cocoa-touch ×1

iphone ×1

objective-c ×1