Moin Moin,
ich hab ein kleines problem mit dem Reuse von Zellen im UITableView
ich fülle Zellen mit Labels und einem Bild (Fürs bild habe ich eine eigene Klasse um das Bild dort asynchron zu laden)
jetzt würde ich aber gerne die Zellen wieder benutzen um nicht bei jedem Scrollen die bilder neuladen zu müssen
bis 4 Zellen funktioniert das auch, bei der 5ten sagt er mir dann (NSLOG) er benutzt eine alte Zelle, was natürlich falsch ist, weil die 5te Zelle bzw. der Inhalt noch gar nicht dran war
was mach ich falsch ?
hier mal meine cellForRowAtIndexPath
Alles anzeigen
ich bin eigentlich der meinung mich an den Apple Table View Programming Guide gehalten zu haben
ich hab ein kleines problem mit dem Reuse von Zellen im UITableView
ich fülle Zellen mit Labels und einem Bild (Fürs bild habe ich eine eigene Klasse um das Bild dort asynchron zu laden)
jetzt würde ich aber gerne die Zellen wieder benutzen um nicht bei jedem Scrollen die bilder neuladen zu müssen
bis 4 Zellen funktioniert das auch, bei der 5ten sagt er mir dann (NSLOG) er benutzt eine alte Zelle, was natürlich falsch ist, weil die 5te Zelle bzw. der Inhalt noch gar nicht dran war
was mach ich falsch ?
hier mal meine cellForRowAtIndexPath
Quellcode
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
- {
- [controller setTermineKategorie:YES];
- static NSString *CellIdentifier = @"Cell";
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
- NSString *stringImageURL;
- ThumbNailViewController *thumbNail;
- UILabel *labelUhrzeit;
- UILabel *labelTitel;
- UILabel *labelBeschreibung;
- if (cell == nil)
- {
- NSLog(@"NEUE ZELLE %@",indexPath);
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]autorelease];
- stringImageURL = [controller getTermineImageAnhandIndex:indexPath.row andSection:indexPath.section];
- thumbNail = [[ThumbNailViewController alloc]initWithURL:stringImageURL];
- [cell addSubview:thumbNail.view];
- labelUhrzeit = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 80, 20)];
- labelUhrzeit.backgroundColor = [UIColor clearColor];
- labelUhrzeit.text = [controller getTermineUhrzeitAnhandIndex:indexPath.row andSection:indexPath.section];
- labelUhrzeit.font = [UIFont fontWithName:@"Arial" size:12];
- [cell addSubview:labelUhrzeit];
- [labelUhrzeit release];
- labelTitel = [[UILabel alloc]initWithFrame:CGRectMake(10, 30, 300, 20)];
- labelTitel.backgroundColor = [UIColor clearColor];
- labelTitel.text = [controller getTermineTitelAnhandIndex:indexPath.row andSection:indexPath.section];
- labelTitel.font = [UIFont fontWithName:@"Arial" size:16];
- [cell addSubview:labelTitel];
- [labelTitel release];
- labelBeschreibung = [[UILabel alloc]initWithFrame:CGRectMake(100, 40, 180, 100)];
- labelBeschreibung.backgroundColor = [UIColor clearColor];
- labelBeschreibung.numberOfLines = 5;
- labelBeschreibung.text = [controller getTermineBeschreibungAnhandIndex:indexPath.row andSection:indexPath.section];
- labelBeschreibung.font = [UIFont fontWithName:@"Arial" size:14];
- [cell addSubview:labelBeschreibung];
- [labelBeschreibung release];
- }else
- {
- NSLog(@"ALTE ZELLE %@",indexPath);
- }
- return cell;
- }
ich bin eigentlich der meinung mich an den Apple Table View Programming Guide gehalten zu haben
Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. 
