stringWithFormat是否创建了retain +1实例?

Nem*_*Sys 0 memory-leaks memory-management objective-c nsstring retain

我在NSString课堂上宣布一个类型的ivar .要初始化此ivar的值,我使用以下代码:

NSString *myVar;

-(void)inAnyMethod
{
   myVar = [NSString stringWithFormat:@"%@",theValue];
}
Run Code Online (Sandbox Code Playgroud)

我必须释放这个伊娃吗?根据我的理解,这不是我的责任.但在大多数情况下,我以这种方式使用的字符串会导致泄漏.

我错过了什么?

Osc*_*mez 5

您没有release它,因为这是一个返回autoreleased对象的便捷方法.

该办法知道,如果你得到的东西为1的保留计数,你将需要使用释放Cocoa命名约定这不能不说任何开头new,alloc或者包含copy在方法名称将返回retain1个对象,其他人将返回autoreleased在这种情况下的对象.