我有一个基本的内存管理问题如下:
NSString *someName = [NSString stringWithFormat:@"Chris"];
Person *p = [[Person alloc] init];
p.name = someName;
如果“name”设置为“retain”,我知道“someName”将自动释放一次并保留一次,因此“p.name”将保留 NSString 与一个 retainCount。
但是如果“名称”设置为复制呢?虽然“someName”给“p.name”一个自己的副本,但副本仍然会自动释放,对吧?那么,我是否需要明确保留“someName”?