iOSInterviewQuestions icon indicating copy to clipboard operation
iOSInterviewQuestions copied to clipboard

set中,对if (_name != name)的描述

Open maxfong opened this issue 10 years ago • 0 comments

set方法中的if (_name != name) 应该只是针对MRC下的retain属性吧
假设传入的参数name和_name为同一指针,在不判断_name != name的情况下,[_name release]后万一内存布局改变,name释放了,[name retain]应该会有问题
只是概率非常非常低,NSString特殊,肯定不会发生这种错误

- (void)setName:(NSString *)name {
    [_name release];  //_name=name,相当于[name release];
    _name = [name retain];
}

maxfong avatar Aug 24 '15 14:08 maxfong