Vous avez besoin d'un objet de modèle de données qui stocke les données pour l'application. Un modèle de données est un objet autonome et personnalisé accessible depuis n'importe où dans l'application. L'objet de modèle de données ne sait rien sur les vues ou les contrôleurs de vue. Il stocke simplement les données et les relations logiques entre ces données.
Lorsque différentes parties de l'application doivent écrire ou lire des données, elles écrivent et lisent dans le modèle de données. Dans votre cas, view1 enregistrerait ses données dans le modèle de données lors du déchargement, puis view2 lirait ces données à partir du modèle de données lors du chargement (ou vice versa.)
Dans une application correctement conçue, il n'y a pas deux contrôleurs de vue devrait avoir accès aux données internes d'un autre contrôleur. (La seule raison pour laquelle un contrôleur de vue doit connaître l'existence d'un autre contrôleur est s'il doit déclencher le chargement de cet autre contrôleur.)
La façon rapide et sale pour créer un modèle de données est d'ajouter des attributs au délégué de l'application, puis appeler le délégué de l'application des contrôleurs de vue à l'aide:
YourAppDelegateClass *appDelegate = [[UIApplication sharedApplication] delegate];
myLocalProperty = appDelegate.someDataModelProperty;
Cela fonctionne pour petit projet, mais comme Vos données deviennent complexes, vous devez créer une classe dédiée pour votre modèle de données.
Edit:
Pour clarifier pour votre cas, vous devez ajouter l'appel au modèle de données lorsque le récepteur viewController devient actif.
Le placement des données dans une méthode init ou un viewDidLoad
ne fonctionnera pas car, dans un UITabBar
, les utilisateurs peuvent basculer entre eux sans décharger la vue ou réinitialiser le contrôleur de vue.
Le meilleur endroit pour récupérer des données modifiées est la méthode de contrôleur viewWillAppear
. De cette façon, les données seront mises à jour chaque fois que l'utilisateur passe à cet onglet.
Merci beaucoup. J'utilise maintenant l'approche singleton. J'ai également posté un lien vers un bon tutoriel qui décrit les étapes à suivre pour créer un modèle de données singleton. –