可可内存泄漏NSCFString但我没有alloc或retain

时间:2011-08-25 03:50:20

标签: cocoa memory memory-leaks

乐器告诉我

NSCFString 16Bytes Foundation - [NSPlaceholderString

我的代码就像:

BOOL rslt = [self sendLogInfo:[NSString stringWithFormat:@"%@", [nameField text]] andPasword:[NSString stringWithFormat:@"%@",[passField text]]];

但没有任何alloc方法。 谁能告诉我代码有什么问题?

1 个答案:

答案 0 :(得分:4)

有两种可能性:

  1. sendLogInfo:或您未显示的其他代码会直接(通过发送retain消息)或间接(通过将其设置为{的值)保留字符串{1}} / strong属性)。
  2. 该代码不是产生仪器中显示的字符串的代码。
  3. 如果将鼠标悬停在Instruments中字符串行中的地址(retain)上,您将看到如下所示的按钮:➲如果单击该按钮,则会转到历史记录对于该地址,将列出该字符串的分配和每个保留,自动释放和释放。然后,您可以检查每个事件的调用堆栈,以查看导致它的原因。

    其中一个是泄漏的原因:过度保留,或保留(或分配)需要由释放平衡但不是。