XCode分析器给出了错误的“潜在内存泄漏”问题?

时间:2011-12-13 08:50:27

标签: iphone xcode memory-leaks

我编写了如下函数来创建CGPath:

+(CGPathRef)CGPathCreateRoundrect:(CGRect)rect radius:(CGFloat)radius {
    CGMutablePathRef path = CGPathCreateMutable();
    ......
    CGPathCloseSubpath(path);
    return path;
}

分析器说第一行代码创建了一个可能泄露的对象。但我确实想在此功能中创建一个新对象并将所有权转移给调用者。函数名称包含关键字“Create”。这是“分析器”的错误吗?

2 个答案:

答案 0 :(得分:3)

分析仪在此处正常运行。所有权仅通过名为copyinit的方法或其某些变体进行转移。

返回的对象应该是自动释放的。

答案 1 :(得分:-1)

这种情况正在发生,因为根据编译器的理解,+()方法将始终返回自动释放的变量,而不是您的情况。