2010-08-31 6 views
0

J'ai un programme qui fonctionne et utilise des données de base pour le stockage.iPhone CoreData récupérer à partir de délégué?

Cependant, je ne suis pas entièrement sûr si je devrais garder mes méthodes d'extraction/mise à jour exclusivement pour le délégué de l'application?

Un exemple est pour une question dans l'application. La question a une "gauche" et une "bonne" déclaration.

Le délégué crée actuellement le nouveau QuestionVC et passe le questionNumber pour la question. Ensuite, QuestionVC effectue une extraction pour obtenir l'objet question et utilise les propriétés gauche et droite de l'objet pour définir le texte à l'écran.

...

Dois-je faire l'inverse Le délégué fait un Disp le nombre de questions et crée ensuite le QuestionVC et passe dans l'objet de la question. Le QuestionVC doit alors simplement obtenir le texte gauche et droit sans avoir à faire de recherche du tout.

Des conseils, des conseils bienvenus.

Merci

Oliver

Répondre

2

Les deux approches sonores valables, mais si vous pouvez concevoir votre vue hiérarchique du contrôleur de telle sorte qu'un seul objet doit savoir sur Core Data (c.-à-passer l'objet question à votre QuestionVC) alors c'est probablement un design plus simple, ce qui est probablement mieux.

Personnellement, je ne ferais pas de récupération dans mon application de délégué, cependant. Mes délégués d'application ne configurent que des données de base (c'est-à-dire le contexte d'objet géré) et les transmettent au contrôleur de vue racine. Je préfère garder les délégués de mon application aussi petits que possible. Je ne les utilise pas comme singleton polyvalent.

+0

C'est un conseil judicieux à mon humble avis. Le 'AppDelegate' devrait être * minuscule * et pas une décharge pour le code partagé. –

+0

Louange de (Données de base) Caesar! :) –

+0

Merci pour votre réponse! Cela a beaucoup de sens. Auriez-vous un lien vers une référence sur la programmation avec le délégué de l'application? Le mien devient assez grand et je m'inquiète de le devenir trop grand et ingérable. Je suppose qu'une meilleure méthode serait de créer une classe pour gérer les questions et de l'utiliser pour aller chercher les questions et pousser/déplacer le QuestionVC dans la vue (serait-ce via appdeegate? Ie [[délégué navController] pushViewController: questionVC animée: OUI];) Cela me permettrait de minimiser les importations et le nombre de méthodes au sein du délégué? – Fogmeister

Questions connexes