IBAction sur mouseUp

RocouRocou Membre
11:22 modifié dans API AppKit #1
Bonjour,

J'ai associé une IBAction à  un objet graphique de mon interface, un NSDatePicker (sous forme d'horloge).
Mon souci est que cette méthode demande pas mal de ressource or dans mon cas je n'ai besoin de récupérer que le l'état final de mon objet: en l'occurrence, l'heure affichée au moment du "mouseUp".

Quand je déplace une aiguille de l'horloge, la méthode associée est déclenchée à  chaque fois que je déplace une des aiguilles d'un "cran" (une seconde, une minute ou une heure selon les aiguilles).
Comme je n'ai besoin que de l'heure choisie par l'utilisateur, c'est à  dire lorsque qu'il décide de lever son doigt de la souris. Aussi, je me demandais s'il était possible de déclencher mon IBAction uniquement au "mouseUp". Mais comment faire?

Réponses

  • CéroceCéroce Membre, Modérateur
    11:22 modifié #2
    Je viens d'essayer et effectivement, l'action est appelée à  chaque changement d'heure, même si "Continuous" n'est pas coché.
    Il va falloir trouver un moyen d'alléger les traitements qui suivent le changement d'heure.
  • RocouRocou Membre
    11:22 modifié #3
    dans 1297416732:

    Je viens d'essayer et effectivement, l'action est appelée à  chaque changement d'heure, même si "Continuous" n'est pas coché.
    Il va falloir trouver un moyen d'alléger les traitements qui suivent le changement d'heure.

    Zut!
    Un grand merci tout de même, ça m'évite de passer trop de temps sur ce problème.
  • HerveHerve Membre
    11:22 modifié #4
    J'ose une réponse, bien que je débute. Pourquoi pas appeler simplement une (void) et non un IBAction avec mouseUp? Cela permettrait de passer outre le protocole...

    (Bon, j'ai essayé!)  ???
  • RocouRocou Membre
    11:22 modifié #5
    dans 1297444886:

    (Bon, j'ai essayé!)  ???

    :D

    Merci pour le temps passé, parfois ça fonctionne!

    Je suis finalement passé par la version textuelle du NSDatePicker, moins amusant mais plus adapté.
  • laudemalaudema Membre
    11:22 modifié #6
    dans 1297444886:

    J'ose une réponse, bien que je débute. Pourquoi pas appeler simplement une (void) et non un IBAction avec mouseUp? Cela permettrait de passer outre le protocole...

    Si tu appuies sur la touche commande et qu'ensuite, en la tenant appuyée, tu double clique sur le mot clef IBAction dans un de tes fichiers ouverts dans Xcode tu sauteras directement à  l'endroit où IBAction est défini et tu pourras lire:


    #define IBAction void

    Mais c'était bien essayé ;)
Connectez-vous ou Inscrivez-vous pour répondre.