美文网首页
init 和 dealloc 内避免使用访问器

init 和 dealloc 内避免使用访问器

作者: Lee坚武 | 来源:发表于2016-04-01 10:05 被阅读34次

Tip

在init和dealloc方法执行的过程中,子类可能会处在一个不一致的状态,所以这些方法中的代码应避免调用访问器。

子类尚未初始化,或在init和dealloc方法执行时已经被销毁,会使访问器方法很可能不可靠。实际上,应在这些方法中直接对 ivals 进行赋值或释放操作。

正确:

-(id)init{

self=[superinit];

if(self){

bar_=[[NSMutableStringalloc]init];// good}

returnself;

}

-(void)dealloc{[bar_release];// good

[superdealloc];

}

错误:

-(id)init{

self=[superinit];

if(self){

self.bar=[NSMutableStringstring];// avoid

}

returnself;

}

-(void)dealloc{

self.bar=nil;// avoid

[superdealloc];

}

init 和 dealloc 内避免使用访问器

相关文章

网友评论

      本文标题:init 和 dealloc 内避免使用访问器

      本文链接:https://www.haomeiwen.com/subject/kthylttx.html