2010-10-11 4 views
0

J'ai une application basée sur le contrôleur de navigation. Mes vues se composent de deux tableviews disposées comme ceci:UINavigationController charge toujours la vue de table avec les mêmes données

Category 
    Item within category 

Fondamentalement, je permettent aux utilisateurs de créer des catégories à l'aide du bouton + sur la barre de navigation. Ensuite, ils sélectionnent une catégorie et peuvent appuyer à nouveau sur le bouton + pour créer des éléments dans cette catégorie.

Mon problème est que si je crée une catégorie et que j'ajoute des éléments, puis que je remonte et que je choisis une catégorie différente, les mêmes éléments de la première catégorie sont affichés.

C'est ce que j'utilise pour créer mes contrôleurs de poste dans didSelectRow:

if (detailViewController==nil) 
    detailViewController = [[ItemViewController alloc] init]; 

detailViewController.category = [[APP_DELEGATE listsArray] objectAtIndex:indexPath.row]; 
[self.navigationController pushViewController:detailViewController animated:YES]; 

De viewDidLoad à ItemViewController:

items = [[NSMutableArray alloc] initWithCapacity:30]; 

Comment puis-je arrêter les mêmes éléments affichés pour chacun?

Merci

EDIT:

code qui renseigne articles:

- (void)addNameController:(AddName *)addNameController didAddName:(NSString *)name { 

if (name) { 
    NSLog(@"%@", name); 
    [items addObject:name]; 
    [self.tableView reloadData]; 
} 
[self dismissModalViewControllerAnimated:YES]; 
} 

Répondre

1

Déplacer l'initialisation du tableau d'éléments à viewDidAppear dans ItemViewController et appelez reloadData. Le viewDidLoad est seulement appelé la première fois que ItemViewController est alloc'd et poussé.

+0

L'élément clignote brièvement dans la vue Tableau, puis disparaît. Merci – joec

+0

Pouvez-vous afficher le code qui remplit les éléments? Est-ce que quelque chose d'autre est fait dans viewDidAppear? – Anna

+0

voir ci-dessus. merci – joec

Questions connexes