L'un de mes contrôleurs de vue possède plusieurs commutateurs UIS et je souhaite qu'un autre contrôleur de vue puisse accéder aux valeurs des commutateurs UIS pour les instructions If/et. Comment est-ce que je fais ceci dans Objective-c?Communication entre les vues Contrôleurs
Répondre
Vous ne voulez probablement pas faire cela. Si vous voulez qu'un second ViewController ait un comportement différent en fonction des commutateurs lancés dans le premier, vous devez simplement lier les commutateurs aux valeurs par défaut utilisateur, que vous pouvez lire n'importe où dans votre application.
Ceci est une mauvaise idée car elle créerait une dépendance non nécessaire entre les contrôleurs de vue.
Si vous voulez toujours le faire, il suffit de passer une référence du premier contrôleur de vue avec les commutateurs au deuxième contrôleur de vue. Ensuite, dans votre deuxième vue, le contrôleur accède simplement à la propriété on
de l'UISwitch correspondant. Cependant, au lieu de suivre cette route, je suggère fortement de créer une classe personnalisée pour conserver l'état booléen de chaque UISwitch. Une instance de cette classe peut être un singleton ou contenue dans le délégué d'application. Voir ce answer pour savoir comment le faire avec les deux approches.
Une classe personnalisée est préférable car un UISwitch est juste un moyen de représenter certaines propriétés dans votre modèle de données. Et si demain vous remplaciez l'UISwitch par un autre contrôle fantaisie , le second contrôleur de vue devrait continuer à fonctionner. Les deux contrôleurs de vue ont une référence à un objet de cette classe personnalisée. Chaque fois qu'il y a une modification, le premier contrôleur met à jour cet objet.
L'interface de classe pourrait être quelque chose comme ceci:
@interface DataValues : NSObject {
BOOL first;
BOOL second;
BOOL third;
}
@property BOOL first;
@property BOOL second;
@property BOOL third;
- 1. Communication entre les vues
- 2. Passer des données entre les vues et les contrôleurs
- 3. Passer des variables entre les vues/voir les contrôleurs
- 4. La communication entre les
- 5. Communication entre les formulaires
- 6. Communication entre les pages
- 7. Communication entre view controllers
- 8. Permutation entre 2 vues dans 2 contrôleurs de vue distincts
- 9. Communication entre les fichiers flash
- 10. La communication entre les modules
- 11. ASP.NET MVC Beta - Grouper les contrôleurs et les vues possibles?
- 12. Navigation entre les vues
- 13. entre les vues
- 14. asp.net mvc - Vues et contrôleurs
- 15. Afficher la communication des contrôleurs dans plusieurs contrôleurs de navigation
- 16. iPhone - Vues et contrôleurs imbriqués
- 17. Comment faire pour aller-retour des données en lecture seule entre les vues et les contrôleurs
- 18. Quelle est la meilleure façon d'inverser la communication entre les contrôleurs de vue?
- 19. MVC Patterns - contrôleurs et vues
- 20. Communication entre les formes et les cadres
- 21. la communication entre UpdatePanels ASP.Net
- 22. UIToolBar single Contrôleurs de vue et contrôleurs de vues multiples
- 23. Rails assistant pour les vues et les contrôleurs?
- 24. Sous-dossiers dans les contrôleurs et les vues
- 25. chaîne envoi entre les vues
- 26. Comment basculer entre les contrôleurs de navigation?
- 27. Spring MVC: @SessionAttributes partagé entre les contrôleurs?
- 28. Choisir entre les contrôleurs de vue
- 29. informations entre les contrôleurs dans ASP.Net MVC-
- 30. Paramètres de cryptage entre les contrôleurs
si je finalement utilisé la suggestion de cdespinosa, il faut noter que votre solution a bien fonctionné aussi bien. –