美文网首页
1.7、规则:init和dealloc内避免使用访问器

1.7、规则:init和dealloc内避免使用访问器

作者: 半升多瑙河 | 来源:发表于2016-07-19 14:10 被阅读28次

说明:在init和dealloc方法执行的过程中,子类可能会处在一个不一致的状

态,所以这些方 法中的代码应避免调用访问器。子类尚未初始化,或在init和dealloc方法执行时已经被销毁,会使访问器方法很可能不可靠。 实际上,应在

这些方法中直接对 内部成员变量进行赋值或释放操作。

示例:

正确:-(id)init{

self = [super init]; if (self) {

bar_ = [[NSMutableString alloc] init]; // good }

return self; }

- (void)dealloc { [bar_ release]; [super dealloc];

}错误:

-(id)init {

self = [super init]; if (self) {

// good

self.bar = [NSMutableString string]; // avoid }

return self; }

- (void)dealloc { self.bar = nil; [super dealloc];

// avoid

}

相关文章

网友评论

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

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