以下是我遇到内存泄漏问题的代码片段。
这是第 3 个警告。
对象泄露:分配并存储到“strRespondData”中的对象是从名称(“httpConnection:postStr:”)不以“copy”、“mutableCopy”、“alloc”或“new”开头的方法返回的。这违反了 Cocoa 内存管理指南中给出的命名约定规则
*我的代码启用了 ARC。
以下是我遇到内存泄漏问题的代码片段。
这是第 3 个警告。
对象泄露:分配并存储到“strRespondData”中的对象是从名称(“httpConnection:postStr:”)不以“copy”、“mutableCopy”、“alloc”或“new”开头的方法返回的。这违反了 Cocoa 内存管理指南中给出的命名约定规则
*我的代码启用了 ARC。
您可以使用自动释放消息:
NSString *strRespondData = [[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding] autorelease];
你可以在这里阅读解释
如果您使用 ARC,则无需担心,ARC 会为您处理。
释放这条线
NSString *strRespondData = [[[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding]
通过这种转换并尝试。
NSString* strRespondData = [NSString stringWithUTF8String:[responseData bytes]];
警告消息说您的方法名称违反了内存管理指南的命名约定
> 不以“copy”、“mutableCopy”、“alloc”或“new”开头
您的代码在 ARC 下有效