Variables globales
Patyom
Membre
Existe-t-il un système de variables globales dans IB ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Euh .. t'as déjà vu des variables dans IB ?
@Patyom: dis-nous plutôt ce que tu cherches à faire.
Je me suis mal exprimé.
Quand je dois exploiter une variable déclarée et alimenté dans un "viewController" je voudrais pouvoir l'exploiter quand je suis dans un autre viewController.
(Pas très français comme phrase)
Du coup, c'est normale de passer la variable vers le deuxième viewController dans la méthode prepare(for:segue)
Commence par étudier ça:
https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html
Les contrôleurs n'ont pas à stocker de données; elles doivent se trouver dans le Modèle (couche métier).
Ensuite passe les variables dans UIViewController.prepare(for: segue) comme indiqué par Joanna.
Oué, oué .. et les constantes modifiables dans les contraintes.
Je tourne en rond, je ne saisi pas le "Singleton", c'est quoi, une classe ?
Un Singleton et une classe ou une struct dont on ne peut que l'instancier une seule fois.
Par exemple :
Ici, on ne peut pas instancier la struct directement parce que l'init() est marqué private.
Donc, il faut passer par shared qui, étant déjà instancié par l'appel à l'init() private, renvoie toujours la même occurrence de DataProvider.
Du coup, pour l'accéder, il faut utiliser de code comme :
Si on veut changer la valeur d'infos, avec une struct, il faut changer le static let pour un static var
Mais, avec une classe construit comme singleton, on peut laisser le static let
Par exemple, l'objet UIScreen permettant d'obtenir des informations sur l'écran, n'importe où dans le code est un singleton.
Merci à vous,
ça marche, j'ai saisi la manip.
A une prochaine fois.