J'ai une question basique qui me rend fou.iPhone UITableViewDelegate Question
J'ai une classe héritant de UITableViewController. C'est le contrôleur de racine dans mon contrôleur de navigation. J'ai une autre classe qui implémente les protocoles UITableViewDelegate et UITableViewDataSource (mon délégué).
Fondamentalement, dans la méthode tableView: didSelectRowAtIndexPath: de mon délégué, je veux pousser un nouveau contrôleur.
Lorsque les protocoles délégués ont été simplement mis en œuvre par le UITableViewController, il était facile:
[self.navigationController pushViewController:nextController animated:YES];
I (évidemment) ne peut pas faire dans la classe des délégués. Comment diable puis-je me référer à la sous-classe UITableViewController pour avoir accès à la navigationController? Ça me rend fou!
Débit de base:
- UITableViewController appelle délégué délégué
- court tableView: didSelectRowAtIndexPath:
- dans le délégué tableView: didSelectRowAtIndexPath :, code doit pousser nouveau contrôleur sur NavigationController
- delegate ne fait pas référence à navController ou à TableViewController pour effectuer le push.
- Le code donne une erreur de compilation si j'essaie de passer dans le délégué le tableController ou navController via une propriété. donc, je ne peux pas lui donner une référence retour à la TableViewController appelant
une solution plus simple est peut-être de ne pas avoir cette classe supplémentaire à tous, et mettre en œuvre juste la vue de la table des méthodes de délégués dans votre classe contrôleur racine. –