В настоящее время у меня возникли некоторые проблемы с моим UITableView, это первый раз, когда я помещаю миниатюру в свою ячейку табличного представления, а также интегрирую NSThread для загрузки миниатюрного изображения, поэтому, пожалуйста, держите меня в покое. Спасибо
Я загружаю данные и настраиваю ячейки как обычно, но на этот раз с добавленным NSThread.
Сначала я позвоню ASIHTTPRequest, на мой взгляд, загрузил
Затем в запросе - (void) requestFinished: (ASIHTTPRequest *) я добавлю URL-адрес миниатюры в NSMutableArray
NSString *photoURLString = [NSString stringWithFormat:@"http://some.url.com/img/%@",[thearray objectForKey:@"tn_url"]];
[thumbNailURL addObject:(photoURLString)];
А в cellForRowAtIndexPath: где я настраиваю другие данные для отображения, я назову свой NSThread
[NSThread detachNewThreadSelector:@selector(loadImage:) toTarget:self withObject:indexPath];
И в моей ветке loadImage
- (void) loadImage: (NSIndexPath*) indexPath{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *iconURL = [thumbNailURL objectAtIndex:indexPath.row];
NSURL *url = [NSURL URLWithString:iconURL];
UIImage *icon = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
cellImageView = [[UIImageView alloc] initWithFrame:CGRectMake(11.0, 6.0, 61.0, 50.0)];
[cellImageView setImage:icon];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell.contentView performSelectorOnMainThread:@selector(addSubview:) withObject:cellImageView waitUntilDone:NO];
[pool drain];
}
Все данные и изображения загружаются просто отлично, но если я прокручиваю быстрее вверх и вниз, приложение зависнет со следующей ошибкой
[1997:7a1f] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 6 beyond bounds [0 .. 5]' (0x31312d2f 0x345f50e3 0x3127d1b1 0x35aefc1d 0xf4dd 0x333ffb51 0x3347c67b 0x366af589 0x366b2310) terminate called throwing an exceptionProgram received signal: “SIGABRT”.
Было бы замечательно, если бы кто-нибудь мог показать мне правильную конфигурацию, если я ошибаюсь, поскольку я пробовал разные подходы в течение последних 3 дней. Большое вам спасибо.