“类NSURL自动释放,没有池到位 - 只是泄漏”帮助

时间:2011-07-21 19:35:10

标签: iphone objective-c xcode4 autorelease

-(void)setIT:(customOfferCell *)curr {
    NSAutoreleasePool *imagePool = [ [ NSAutoreleasePool alloc ] init ];

    NSURL *url = [[NSURL URLWithString:imageURL]autorelease];
    NSData *imageData = [[NSData dataWithContentsOfURL:url] autorelease];
    curr.offerImage.image = [[UIImage imageWithData:imageData]autorelease];
    [imagePool drain];
}

嗨我有标题错误,程序运行正常,但泄漏的数量与我有关,我调查了导致它的原因,并且因为这个方法是在一个新线程上调用的:

[NSThread detachNewThreadSelector: @selector(setIT:) toTarget:self withObject:cell];

我需要创建一个自动释放池并自动释放对象。调用上面的方法将图像加载到我的自定义UITableViewCell上。当我运行这个时,我会在甚至没有运行的代理上遇到奇怪的错误。有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

您正在使用返回自动释放值的工厂方法创建对象,然后您将自动释放它们!但这应该导致过度释放问题,而不是泄漏。