2009-07-11 8 views
1

J'ai un contrôleur qui contient un tableauView qui engendre modally un autre contrôleur pour entrer un nom. Une fois le nom entré, le modalview est libéré. Mais ... comment puis-je dire au premier contrôleur de [tableView reloadData]. J'ai essayé dans le ViewWillAppear, ViewDidAppear, etc ... aucun d'entre eux ne déclenchera la commande parce que le premier contrôleur est toujours là derrière le contrôleur modal. Alors ... comment puis-je le dire pour recharger?Problème de déclenchement d'un [tableView reloadData]

THanks

Répondre

1

La façon dont j'aborderions ce serait de faire le premier contrôleur délégué du second contrôleur. Ajoutez une méthode comme -secondController:didFinishEnteringName: au premier contrôleur qui recharge la vue de table lorsqu 'être appelée. Ajoutez ensuite une propriété delegate (avec sémantique d'affectation) au second contrôleur, définissez le premier contrôleur comme délégué de la seconde et enfin, après que l'utilisateur a entré son nom dans le second contrôleur, appelez la méthode -secondController:didFinishEnteringName: du premier contrôleur avant de supprimer le second contrôleur de l'écran.

Une autre approche pourrait être d'utiliser des notifications. Mais c'est plus applicable dans les situations où il peut y avoir beaucoup de vues ou d'autres objets qui doivent être mis à jour.

Questions connexes