仪器告诉我
NSCFString 16Bytes 基础 -[NSPlaceholderString
我的代码是这样的:
BOOL rslt = [self sendLogInfo:[NSString stringWithFormat:@"%@", [nameField text]] andPasword:[NSString stringWithFormat:@"%@",[passField text]]];
但没有任何分配方法。 谁能告诉我代码有什么问题吗?
最佳答案
有两种可能性:
sendLogInfo:
或您未显示的其他一些代码会直接(通过向其发送retain
消息)或间接(通过设置它作为strong
/retain
属性的值)。- 该代码不是生成仪器中显示的字符串的代码。
如果您将鼠标悬停在仪器中字符串行中的地址 (0xblahblah
) 上,您将看到一个如下所示的按钮: ➲ 如果您单击该按钮,它将带您进入到该地址的历史记录,其中将列出该字符串的分配以及每个保留、自动释放和释放。然后,您可以检查每个事件的调用堆栈以了解导致该事件的原因。
其中之一是泄漏的原因:要么是不当的保留,要么是需要通过释放来平衡的保留(或分配),但事实并非如此。
关于NSCFString 的 cocoa 内存泄漏,但我没有分配或保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184935/