【问题标题】:NSArray NSString memory leakNSArray NSString 内存泄漏
【发布时间】:2010-01-29 22:23:32
【问题描述】:

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

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

    return tokens;
}

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

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

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

提前感谢您的帮助。

迈克尔

【问题讨论】:

  • 如果您标记objectivec,您将只能从Objective 和C 程序员那里得到答案。

标签: objective-c memory-leaks instruments


【解决方案1】:

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

【讨论】:

  • 达伦,谢谢你的回答。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-16
    • 2012-08-16
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2012-10-29
    相关资源
    最近更新 更多