重用“LazyTableImages”代码时出现问题

时间:2010-12-07 00:39:11

标签: iphone uitableview nsurlconnection

我尝试重用“lazyTableimages”代码,但我遇到的问题是看到的第一个图标没有下载。我调试并发现连接没有得到响应(仅适用于这些图标)。 / p>

更新这是我认为是问题的代码部分:

- (void)startDownload
{
    self.activeDownload = [NSMutableData data];

    NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:
                         [NSURLRequest requestWithURL:
                          [NSURL URLWithString:appRecord.imageURLString]] delegate:self];
    self.imageConnection = conn;
   [conn release];
}

我认为连接没有足够的时间来建立。

N.B:我使用自定义myUITableViewCell。

4 个答案:

答案 0 :(得分:0)

我在一些项目中使用了相同的代码。我在这段代码中没有发现任何问题。可能你错过了别的东西。你分配了IconDownloader的Object吗?并调用方法startDownload。

干杯, Raxit

答案 1 :(得分:0)

确定。这意味着您在下面的陈述中遇到问题。这是在cellForRowAtIndexPath方法中。

[self startIconDownload:appRecord forIndexPath:indexPath];

我是对的Dingua?

答案 2 :(得分:0)

你错过了一些东西。你正在调用[self startIconDownload:appRecord forIndexPath:indexPath]; from(void)loadImagesForOnscreenRows和cellForRowAtIndexPath方法。你在NSLog中打印参数了吗?检查appRecord.imageURLString的值当你从cellForRowAtIndexPath调用它时。

答案 3 :(得分:0)

问题是我从一个线程(不是主线程)调用方法“[tableview reloadData]”,该线程将在该调用之后被取消,因此为了这个原因,建立了下载图标的连接被中止(当它是从“..cellForView ..”方法调用,所以我将线程更改为“NSOperation”,并在主线程上调用reloadData方法,就像这个“[tableView performSelectorOnMainThread:@selector(reloadData) WaitUntilFinshied:YES];(语法需要经核实)