仪器没有检测到Xcode中的内存泄漏

时间:2011-05-21 11:06:15

标签: objective-c xcode memory memory-leaks instruments

我已经困惑了好几天了。我仍然试图在objective-c中围绕内存管理。

这是我的代码段(为了清晰起见而缩写):

- (void)performOperation:(NSString *)operation
{
    if ([@"+" isEqual:operation]) 
    {
        waitingOperation = operation;
    }
    else if ([@"C" isEqual:operation])
    {
        waitingOperation = nil;
    }

}

waitingOperation只是一个本地私有NSString(没有@property,没有@synthesize,没有getter / setter)。

当我将waitingOperation分配给nil当它指向堆上的NSString时,我不应该泄漏内存吗?我对这个方法的调用是在一个ios应用程序中,它从UILabel display.text传递NSString。我一直用仪器分析这段代码,我从来没有看到任何泄漏。我真的很感激这一点。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您尚未通过致电waitingOperationretain提出所有权声明,因此您对release不承担任何责任。

如果字符串在其他地方被释放(例如通过处理UILabel),这可能会让你在某些时候遇到问题,在这种情况下你会留下一个悬空指针。但你在这里没有泄漏任何东西。