1

以下是我遇到内存泄漏问题的代码片段。 在此处输入图像描述

这是第 3 个警告。

对象泄露:分配并存储到“strRespondData”中的对象是从名称(“httpConnection:postStr:”)不以“copy”、“mutableCopy”、“alloc”或“new”开头的方法返回的。这违反了 Cocoa 内存管理指南中给出的命名约定规则

*我的代码启用了 ARC。

4

3 回答 3

2

您可以使用自动释放消息:

NSString *strRespondData = [[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] autorelease];

你可以在这里阅读解释

如果您使用 ARC,则无需担心,ARC 会为您处理。

于 2013-03-06T08:34:50.677 回答
1

释放这条线

NSString *strRespondData = [[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]

通过这种转换并尝试。

NSString* strRespondData = [NSString stringWithUTF8String:[responseData bytes]];
于 2013-03-06T08:49:45.287 回答
1

警告消息说您的方法名称违反了内存管理指南的命名约定

> 不以“copy”、“mutableCopy”、“alloc”或“new”开头

您的代码在 ARC 下有效

于 2013-03-06T11:07:24.160 回答