分配的对象可能泄漏

idd*_*ber 8 memory-leaks objective-c

使用XCode的构建和分析我看到我的代码中有内存泄漏:

- (NSString *) doIt
{
    NSString *var = [[NSString alloc] init];

    return var;
}
Run Code Online (Sandbox Code Playgroud)

这当然是我问题的简化片段

我在哪里发布对象?

war*_*enm 18

这是一个完美的情况autorelease.

return [var autorelease]; 将返回具有当前保留计数1的对象,并在将来的某个时刻减少对象的保留计数,之后调用代码应该保留该对象(如果需要).