2010-01-29 22 views
0

我有一个简单的方法来读取一个字符串,并将其解析到一个数组,的NSArray NSString的内存泄露

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

    return tokens; 
} 

但仪器也告我我在行

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

了泄漏上的NSString我不知道为什么会发生这种情况,
1)。我认为价值和令牌都是自动释放的?我对吗? 2)。我试图释放值和令牌(只是一个尝试),它崩溃。

感谢您的帮助提前。

迈克尔

+0

如果你标记'objective'和'c',你只能从Objective和C程序员那里得到答案。 – 2010-01-29 22:45:15

回答

0

你张贴采用了正确的内存管理代码(返回值会被自动释放)。看看调用readFileToArray:的代码,看看它如何处理返回的数组。

+0

Darren,谢谢你的回答。 – user238009 2010-01-30 21:21:08

0

被泄漏该生产线是NSString *values = [NSString stringWithContentsOfFile: file];

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