0

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

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

    return tokens;
}

但是仪器确实向我报告了我在线上的 NSString 泄漏

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

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

提前感谢您的帮助。

迈克尔

4

2 回答 2

0

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

于 2010-01-29T22:53:15.537 回答
0

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

您需要在此行中添加 autorelease 以修复泄漏。

于 2013-01-15T09:58:53.980 回答