2010-12-13 27 views
0

J'ai un UITableView avec une cellule personnalisée, (comprend une uiimage générée à partir d'un site Web) et lorsque je sélectionne une ligne, il me faut une vue détaillée. Maintenant, si je clique sur une ligne dès que la vue se charge, l'application va parfois tomber en panne. Parfois, lorsque je retourne à la table principale à partir de la vue détaillée, l'application va planter. Je ne vais pas encore coller mon code car je n'ai honnêtement aucune idée de ce que je devrais publier.Écrasement aléatoire UITableView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1]; 
selectedItems = [[stories objectAtIndex: storyIndex] objectForKey: @"title"]; 
DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]]; 
dvController.imageArray = images; 
dvController.selectedItems = selectedItems; 
dvController.indexpath = storyIndex; 
[self.navigationController pushViewController:dvController animated:YES]; 
[dvController release]; 
dvController = nil; 

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString *CellIdentifier = @"Cell"; 
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    [[NSBundle mainBundle] loadNibNamed:@"CustomCell"owner:self options:nil]; 
    cell = customCell; 
    self.customCell = nil; 
} 
// Configure the cell. 
int storyIndex = [indexPath indexAtPosition: [indexPath length] - 1]; 

     cell.title.text = [[stories objectAtIndex: storyIndex] objectForKey: @"title"]; 



[cell.webview loadHTMLString:[NSString stringWithFormat:@"<html><body>%@</body></html>", [images objectAtIndex:indexPath.row]] baseURL:nil]; 
//NSLog(@"%@", [images objectAtIndex:indexPath.row]); 
return cell; 

}

Le rapport NSLog dit

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CALayerArray bannerView:didFailToReceiveAdWithError:]: unrecognized selector sent to instance 0x1bcd70' 

La méthode didFailToReceiveAdWithError est inférieure à

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    if (self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 
     // banner is visible and we move it out of the screen, due to connection issue 
     banner.frame = CGRectOffset(banner.frame, 0, -50); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = NO; 
    } 
} 
+2

Ce que dit votre NSLog lors du plantage – iPrabu

+1

Je pense que vous devrez au moins poster votre implémentation de 'tableView: cellForRowAtIndexPath:'. –

+1

Je présume que vous faites une version de débogage. En tant que tel, quelle erreur est signalée dans la console lorsque l'application se bloque? –

Répondre

0

L'erreur que vous obtenez ...

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CALayerArray bannerView:didFailToReceiveAdWithError:]: unrecognized selector sent to instance 0x1bcd70' 

... est assez claire. Cela n'a rien à voir avec UITableView et tout à voir avec le fait que vous n'avez pas implémenté la méthode bannerView:didFailToReceiveAdWithError: dans votre ADBannerViewDelegate.

+0

Je l'ai eu là-dedans et il obtient toujours l'erreur. J'ai ajouté le code ci-dessus. –

+0

Eh bien c'est ce que l'erreur dit. Êtes-vous devriez-vous avoir la signature de méthode précise dans la bonne classe de délégué? –