2010-07-28 5 views
2

Je vais avoir la question suivante:ext_bad_access en essayant de montrer un tableView

J'ai une application à onglets. Chaque onglet a son propre viewcontroller et xip. Dans la première vue de l'onglet, j'essaie d'afficher un bouton qui charge une vue suivante, montrant une tableView groupée. Tout fonctionne comme prévu, le numberofSectionsInTableView est appelé, puis j'obtiens une erreur ext_bad_access.

J'essaie d'expliquer ma configuration:

d'abord (par le clic d'un bouton), je charge la ligne de contact de la vue:

FiltersViewController *filtersViewController = [[FiltersViewController alloc] initWithNibName:@"Filters" bundle:[NSBundle mainBundle]]; 
[self.navigationController pushViewController:filtersViewController animated:YES]; 
[filtersViewController release]; 

Dans le NIB, les File's-propriétaire est réglé à la classe FiltersViewController. Le view-outlet est connecté à tableView, qui est de classe UITableView. Le TableView lui-même est assis dans l'objet FiltersViewController.

Le FiltersViewController a l'interface suivante:

@interface FiltersViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {} 

délégué de la tableView et DataSource est connecté au File's-propriétaire. J'ai implémenté les méthodes requises pour la configuration de table ...

Que manque-t-je? J'ai lu que ext_bad_access doit accéder à des pointeurs/objets qui n'existent plus. J'ai suivi les règles de base pour la gestion de la mémoire, et je ne trouve pas d'erreur dans le code.

L'aide est vraiment appréciée. pawi

+0

Quelle est la trace de la pile dans le débogueur lorsque l'exception est appelée? Cela devrait vous indiquer le pointeur auquel on accède? – deanWombourne

Répondre

0

Ha! Je l'ai!

J'ai obtenu le délégué de tableView et dataSource connectés au TableViewController (de type FiltersViewController) au lieu du File's-propriétaire ...

Ce fut la chance, il m'a occupé pendant plus d'un jour maintenant. :-(

Cheerz!

0

Vous voulez dire EXEC_BAD_ACCESS droit?

Cela signifie essentiellement que vous essayez d'accéder à un objet qui est pas là. Comme 15 objet d'un tableau qui ne dispose que de 10 objets pour par exemple.

Très probablement, vous l'avez fait dans cellForRowAtIndexPath méthode où vous peuplant les cellules de tableau.

0

essayer de régler les points de rupture tout où cette sensation incomplète, comme u peut régler les points de rupture sur nu mberOfSection, construisez et déboguez-le, vous savez où vous devez changer

+0

thx pour votre réponse. Je l'ai résolu il y a longtemps ;-) (Voir mon deuxième message). Cheerz – pawi

Questions connexes