проблема при повторном использовании кода "LazyTableImages" - PullRequest
0 голосов
/ 07 декабря 2010

Я пытаюсь повторно использовать код "lazyTableimages", но у меня возникла проблема с тем, что первые увиденные значки не были загружены. Я отладил и обнаружил, что соединение не получает ответ (только для этих значков).

обновление это часть кода, которая, как мне кажется, является проблемой:

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

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

, и я думаю, что для установления соединения недостаточно времени.

Примечание: я использую пользовательский myUITableViewCell.

Ответы [ 4 ]

0 голосов
/ 24 декабря 2010

Проблема заключалась в том, что я вызывал метод "[tableview reloadData]" из потока (не основного потока), который будет отменен после этого вызова, поэтому по этой причине соединение, установленное для загрузки значков, было прервано (когдавызывается из метода "..cellForView .."), поэтому я изменил поток на "NSOperation" и вызвал метод reloadData в основном потоке, который будет выглядеть примерно так: [tableView performSelectorOnMainThread:@selector(reloadData) WaitUntilFinshied:YES]; (синтаксис необходимо проверить)

0 голосов
/ 08 декабря 2010

Хорошо. Это означает, что у вас возникли проблемы с приведенным ниже утверждением. Который находится в методе cellForRowAtIndexPath.

[self startIconDownload: appRecord forIndexPath: indexPath];

Прав ли я, Дингуа?

0 голосов
/ 08 декабря 2010

Вы что-то упустили.вы вызываете [self startIconDownload: appRecord forIndexPath: indexPath];из (void) метода loadImagesForOnscreenRows и cellForRowAtIndexPath.Вы печатаете параметр в NSLog?проверьте значение appRecord.imageURLString, когда вы вызываете его из cellForRowAtIndexPath.

0 голосов
/ 07 декабря 2010

Я использовал один и тот же код в некоторых своих проектах. Я не нашел никаких проблем в этом коде. Может быть, вы упустили что-то еще. Вы выделили объект IconDownloader? и вызвать метод startDownload.

Ура, Raxit

...