NSString *pDescText = @"blablabla";
pDescText = [NSString stringWithFormat:@"%@ %@",skProduct.localizedDescription,formattedPrice];
当我在第2行重新分配pDescText时,是否会产生内存泄漏?
答案 0 :(得分:4)
如果您使用ARC,则无需担心这些类型的泄漏。
如果您使用的是MRC,则没有泄漏,因为:
您只需发送包含new
alloc
retain
或copy
的邮件,即可发布您收到引用的对象。在这两行中都没有这样做,因此您没有对pDescText
的拥有引用。此外,在第一行中您使用的是字符串文字,这是您不必担心内存管理的问题。
我不得不说这个pDescText
不是用于Cocoa变量的好名字。我们不使用匈牙利表示法(因此p表示不需要指针),完整的描述性变量名称是常态。因此,如果对于上下文而言,更有经验的Cocoa开发人员将使用pDescText
甚至descriptiveText
或productDescription
而不是description
。
答案 1 :(得分:0)
不,NSString
便捷构造函数返回一个自动释放的对象。