分配给自己的NSString的iphone / ipad内存泄漏

时间:2010-09-17 10:04:28

标签: iphone ipad memory-leaks

我有两个仪器工具显示的泄漏。我在谷歌上环顾四周,但我还没有看到我的问题。

问题#1:

self.wallText = [[text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];

我已尝试过上述各种配置,但都漏了。我需要做两个修剪操作。 'text'用@“”或stringWithFormat声明。

我的另一个问题是以下一行:

    NSString * value = [elements objectAtIndex:i+1];
if ([value length] >= 2 && [[value substringToIndex:2] isEqualToString:@"S_"]){
   value = [value substringFromIndex:2]; // LEAK HERE
    }

我需要获取除前两个字符之外的所有字符串,所以我不知道如何首先释放它或者某些东西......如果这确实是我应该做的。

在之前的项目之前,我可以通过泄漏逃脱,但这个内存密集,我需要所有的内存!

任何指针都会非常感激

2 个答案:

答案 0 :(得分:3)

您是否为wallText声明了@property (retain),是否在dealloc方法中执行了[wallText release]

仔细检查上面的内容,你就不会再有泄漏了

更新部分:

你有一个内存泄漏真的很奇怪。因为首先,您的value指向一个autoreleased对象,然后它指向另一个autoreleased对象,我觉得这很好。

答案 1 :(得分:0)

你有没有使用alloc值。 value = [value substringFromIndex:2];。现在值正在引用新的自动释放字符串。所以你不能释放以前的对象。