Comment échanger des messages entre des vues

peyrussepeyrusse Membre
02:06 modifié dans API UIKit #1
Bonjour,

J'ai une classe de type UIViewController qui contient un pointeur vers une UIView qui affiche un UIPickerView. Je souhaite pouvoir appeler depuis la classe UIView des méthodes de la classe UIViewcontroller.

Je ne sais pas comment récupérer un pointeur sur la classe parent, ou faut-il utiliser un delegate ou l'appel à  une notification.

Merci pour votre retour avec un lien ou un bout de code que je puisse comprendre les mécanismes d'échanges de données entre des vues parentes.

Réponses

  • allianallian Membre
    02:06 modifié #2
    Si c'est juste accéder à  ta vue parente qui t'intéresse il y a la propriété superview de la classe UIView mais si c'est accéder à  ton UIViewController et par la à  ses méthodes, c'est une autre histoire.
  • peyrussepeyrusse Membre
    02:06 modifié #3
    J'ai essayé d'appeler la méthode ainsi dans ma classe UIView [self.superview methodeparente] mais ça ne marche pas.
  • allianallian Membre
    02:06 modifié #4
    Non cela ne fonctionne pas car la propriete superview retourne la UIView parente, hors tes méthodes sont celles de ton UIViewController qui possede la UIView.

    Pour acceder à  tes méthodes il y a plusieurs solutions, voir ici :

    http://www.osx-dev.com/index.php?topic=3828.0
    http://www.osx-dev.com/index.php?topic=3525.0
  • GreensourceGreensource Membre
    02:06 modifié #5
    Et si tu déclarais tout simplement un pointeur vers ton UIViewController dans ton UIView?
  • peyrussepeyrusse Membre
    02:06 modifié #6
    c'est que j'ai fait et ça  a marché un moment mais comme ma vue s'affiche puis se ferme en fonction des actions de l'utilisateur le pointeur est perdu entre 2 affichages, bref cette solution ne fonctionne pas. D'ou l'idée de passer des messages ou de remonter la hiérarchie des objets mais je galère depuis ce matin dessus et je suis toujours bloqué.

Connectez-vous ou Inscrivez-vous pour répondre.