可能重複:
NSString @property, using copy instead of retain對於副本的NSString,我需要保留一份明確
我有如下基本的內存管理問題:
NSString *someName = [NSString stringWithFormat:@"Chris"];
Person *p = [[Person alloc] init];
p.name = someName;
如果「名稱」設置爲「保留」,我知道「someName」將自動釋放一次並保留一次,因此「p.name」將保留一個retainCount的NSString。
但是如果將「名稱」設置爲複製,那麼該怎麼辦。雖然「someName」給自己的副本給「p.name」,但是副本是stil會自動釋放,對嗎?那麼,我需要明確保留「someName」嗎?