NSArray NSString内存泄漏

时间:2010-01-29 22:23:32

标签: objective-c memory-leaks instruments

我有一个简单的方法来读取字符串并将其解析为数组

-(NSArray *) readFileToArray: (NSString *)file{
    NSString *values = [NSString stringWithContentsOfFile: file];
    NSArray *tokens = [values componentsSeparatedByString:@":"];

    return tokens;
}

然而,仪器确实报告了我在NSString上发生了泄漏

NSArray *tokens = [values componentsSeparatedByString:@":"];

我不知道为什么会这样, 1)。我认为价值和代币都是自动释放的吗?我是对的吗? 2)。我试图释放值和令牌(只是一试),它崩溃了。

提前感谢您的帮助。

迈克尔

2 个答案:

答案 0 :(得分:0)

您发布的代码是使用正确的内存管理(返回值是自动释放的)。查看调用readFileToArray:的代码,看看它是如何处理返回的数组的。

答案 1 :(得分:0)

泄露的行是NSString *values = [NSString stringWithContentsOfFile: file];

您需要在此行中添加自动释放以修复泄漏。