【问题标题】:substringToString producing leaksubstringToString 产生泄漏
【发布时间】:2011-07-27 06:33:45
【问题描述】:

我在 tempstr = [tempstr substringToIndex... 我已经尝试了分配 tempStr 的所有可能组合, NSString *tempStr = @""; NSString *tempStr = [[NSString alloc] init]; (在循环结束时释放) 我尝试调整 NSString 的范围。没有。它产生3个泄漏 任何有关我可以尝试解决的问题的帮助将不胜感激。

while(x < [arr1 count]){
            //NSLog(@"%@", [arr1 objectAtIndex:x]);

            if([[arr1 objectAtIndex:x] rangeOfString:@".com"].location != NSNotFound)
            {

                //NSLog(@"%@", [arr1 objectAtIndex:x]);
                tempStr = [[arr1 objectAtIndex:x] substringFromIndex:[[arr1 objectAtIndex:x] rangeOfString:@"http://"].location];
                tempStr = [tempStr substringToIndex:tempStr.length - 1];
                [arr1 replaceObjectAtIndex:x withObject:tempStr];

                //NSLog(@"%@", [arr1 objectAtIndex:x]);

            }
..... more code....
x++
}

【问题讨论】:

    标签: iphone memory-leaks nsstring substring


    【解决方案1】:

    那些tempStr 实例应该进入自动释放池,因此如果您正确使用自动释放池,它们应该在适当的时候被正确释放。

    因此,您要么在很早的时候测量泄漏(对象在循环结束很久之后才会被释放),要么您正在处理一个未正确设置自动释放池的线程。

    【讨论】:

    • 我一直在假设我的自动释放池设置不正确。据我所知,它应该为我自动完成......我不正确吗?
    • NSString *tempStr = [[arr1 objectAtIndex:x] substringFromIndex:[[arr1 objectAtIndex:x] rangeOfString:@"http://"].location]; tempStr = [tempStr substringToIndex:tempStr.length - 1]; [arr1 replaceObjectAtIndex:x withObject:tempStr]; 也泄露了
    猜你喜欢
    • 2011-03-23
    • 1970-01-01
    • 2016-07-15
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多