Question

Est-il raisonnable de supposer qu'un attribut, à savoir fetchedResultsController, de chatViewController, une instance d'une sous-classe de UITableViewController, est nil toujours quand viewDidLoad est appelé, en supposant qu'il est mis à nil en viewDidUnload? Ouf!

Si tel est le cas, alors je ne vois pas de besoin immédiat de redéfinir la fonction accesseur comme dans les CoreDataBooks d'application exemple Xcode. Je préfère tout simplement mettre tout ce code dans viewDidLoad au lieu d'une fonction distincte parce que c'est le seul endroit où je vais l'utiliser.

Était-ce utile?

La solution

viewDidLoad est appelée après votre point de vue est chargé. Que ce soit ou non fetchedResultsController est nul ou ne dépend pas de la façon dont l'viewController est initialisé. Par exemple, lors de la création du detailViewController, vous pouvez définir son fetchedViewController avant viewDidLoad est appelé:

RecipeDetailViewController *detailViewController = [[RecipeDetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
detailViewController.fetchedResultsController = fetchedResultsController;

[self.navigationController pushViewController:detailViewController animated:animated];
[detailViewController release];

Cela dit, nil'ing fetchedResultsController en viewDidUnload serait alors assurer qu'il est nul.

Autres conseils

viewDidLoad Appelé dans ces Secnarion: -

1. Lorsque nous poussons le contrôleur de vue après l'avoir créé son objet par Segue ou par identifiant de la carte stoary.

2.it appelé plus d'un dans le cas de la création par exemple plus de temps dans l'application et le pousser à nouveau et again.for exemple: -si vous implémentez comme coaursal (qui ayant requis au contrôleur supplémentaire pendant le défilement) comme cela, il est nécessaire il peut donc appelé plusieurs fois viewDidLoad.

3.it appelée lorsque toutes les instances de la mémoire (UIViewController et sous-classe de ce instanciées) Cela signifie que lorsque notre point de vue est prêt à charger en mémoire avec l'adresse.

4.Remember seul objet de contrôleur de classe enfant est objet de classe created..parent jamais été utilisée lors de la Secnarion normale.

Vous devez supposer que viewDidLoad peut être appelé plusieurs fois. S'il y a un ENVOYÉ avertissement de mémoire, votre contrôleur de vue déchargera la vue de la mémoire, et la prochaine fois, il est nécessaire viewDidLoad sera appelée.

viewDidLoad est appelée uniquement lorsque la vue est instancié pour la première fois. Si vous n'êtes pas recréer le contrôleur de vue chaque fois dans votre application, vous ne l'obtenez appelé une fois (et appelé à nouveau si vous obtenez un avertissement de mémoire, et la vue est nil'd out).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top