ChenYilong / ChenYilong/iOSInterviewQuestions

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

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
9.5k
Forks
2.8k
PR merge metrics
No merged PRs in 30d

Description

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];
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.