由于返回创建的变量而导致内存泄漏

时间:2013-03-06 08:31:53

标签: iphone ios objective-c memory-management

Follwing是我的代码片段,其中我遇到了内存泄漏问题。 enter image description here

这是警告编号3。

对象泄露:分配并存储到'strRespondData'中的对象从名称('httpConnection:postStr:')不以'copy','mutableCopy','alloc'或'new开头的方法返回”。这违反了“可可内存管理指南”

中给出的命名约定规则

*我的代码已启用ARC。

3 个答案:

答案 0 :(得分:2)

您可以使用autorelease消息:

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

您可以阅读解释here

如果您使用ARC,则无需担心,ARC将为您处理此问题。

答案 1 :(得分:1)

发布此行

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

进行此转换并尝试。

NSString* strRespondData = [NSString stringWithUTF8String:[responseData bytes]];

答案 2 :(得分:1)

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

<强>&GT;不以'copy','mutableCopy','alloc'或'new'开头

您的代码在ARC

下有效