2009-10-29 10 views
1

Je suis nouveau à l'objectif C avec un fond principalement dans la programmation de base de données. Je développe une application médicale iPhone qui implique plusieurs formules pour les calculs, en utilisant plusieurs variables. Essentiellement chaque formule aura son propre écran, mais les entrées numériques et les calculs de chaque écran devraient apparaître sur les écrans pour d'autres formules partageant des entrées communes, l'utilisateur naviguant entre les écrans, et les valeurs variables changées sur un écran devraient se mettre à jour écran. Je comprends les pièges potentiels des variables globales, mais il semble qu'un ensemble de variables globales est ce dont j'ai besoin. Je me demande quelle est la meilleure méthode pour atteindre cet objectif. J'ai examiné l'utilisation des singletons sur ce site et dans la documentation d'Apple, et peut-être que cette méthode est la solution. Je me demandais aussi peut-être si l'exploration des données de base est le bon chemin, en enregistrant les variables numériques entrées ou calculées sur un écran, à récupérer lorsqu'une nouvelle formule est affichée sur un autre écran.Variables globales dans Objective C sur iPhone

Merci d'avance pour tout conseil.

+0

Je ne pense pas que les données de base sont disponibles sur l'iPhone. – JBRWilkinson

+0

Les données de base sont disponibles sur l'iphone JBR – Daniel

+0

http://stackoverflow.com/questions/1636474/how-to-use-shared-array-between-function-calls-in-objective-c/1636539#1636539 – Morion

Répondre

3

L'architecture généralement acceptée pour ce que vous demandez est la partie modèle du modèle de conception "Model-View-Controller".

Vous devez définir votre jeu de calculs et les données sur lesquelles ils travaillent dans votre modèle. Le modèle consiste en une ou plusieurs classes Objective-C, contenant les valeurs de vos calculs dans les variables d'instance. Les méthodes dans vos classes de modèle font les mathématiques réelles. Vous n'avez pas besoin de variables globales si votre modèle vous donne accès à toutes les variables associées. La seule variable à laquelle vous devez accéder est l'objet modèle lui-même, qui peut être conservé dans le délégué de l'application.

Le modèle est juste une description abstraite, il ne contient aucune partie de l'interface utilisateur. Vous utiliserez une classe de contrôleur pour lier votre modèle aux éléments de l'interface utilisateur, tels que les champs de texte ou les boutons.

Voir la description d'Apple de MVC here ou here.