所以我在一个方法中有以下代码,我想将 UIImageView 图像设置为来自在线资源的图像:
[NSThread detachNewThreadSelector:@selector(loadImage) toTarget:self withObject:nil];
然后在线程调用的方法中我有这个:
- (void) loadImage
{
NSURL *url = [NSURL URLWithString:logoPath]; // logoPath is an NSString with path details
NSData *data = [NSData dataWithContentsOfURL:url];
logoImage.image = [UIImage imageWithData:data];
}
这很好用,但是我在调试器控制台中收到许多警告,如下所示:
2010-05-10 14:30:14.052 ProjectTitle[2930:633f] *** _NSAutoreleaseNoPool(): NSHTTPURLResponse 类的对象 0x169d30 自动释放,没有适当的池 - 只是泄漏
每次我调用新线程时都会发生很多次,然后最终,在没有模式的情况下,在调用其中一些线程后,我得到了经典的“EXC_BAD_ACCESS”运行时错误。
我知道发生这种情况是因为我没有保留对象,但是如何使用上面显示的“loadImage”中的代码解决这个问题?
谢谢