【发布时间】:2010-02-02 10:05:20
【问题描述】:
这是我的代码:
NSString *xyz=[NSString stringWithFormat:@"%i %@",10,@"Sagar"];
现在我取的是其他字符串,如下。
NSString *x2=[xyz copy];
我不知道这里会发生什么?是不是像,x2 有 xyz 的 ref 的 ref?
NSString *x3=[xyz retain];
这里会发生什么,x3 有一个复制字符串的新内存或 [xyz 复制] 这样做?
现在,如何从内存中删除所有这三个字符串?
【问题讨论】:
-
这里的标题并不能特别代表您正在寻找的问题。为了未来读者的利益,您会改进它吗?我认为您是在询问变量操作是否获取变量的副本或引用。一个好的方法是将标题表述为一个英文问题,例如“NSString 上的 'copy' 和 'retain' 有什么区别?”不过我不使用 Objective C,所以我不确定我的措辞是否正确。
标签: iphone objective-c memory-management nsstring