Problème de rafraà®chissement d'un NSTextField

GreensourceGreensource Membre
01:28 modifié dans API AppKit #1
Bonjour!
Mon problème est assez simple, j'ai une fenêtre avec un NSTextField et un bouton.
Quand je clique sur le bouton ça lance une boucle qui calcule la suite de fibonacci et qui fait un setIntValue: sur le NSTextField.
Seulement mon NSTextField ne se rafraà®chit que quand la boucle est finie, or moi je voudrais voir les valeurs augmenter. Que ça affiche en permanence la dernière valeur de fibo calculée.

J'ai essayer un setNeedsDisplay sans trop y croire...
Une idée?

Réponses

  • CéroceCéroce Membre, Modérateur
    01:28 modifié #2
    Comme expliqué de nombreuses fois ici, l'IHM n'est rafraà®chie que quand on arrive au bout de la boucle d'événements.
    Pour permettre le rafraà®chissement, il faut soit faire les calculs en plusieurs fois (par exemple avec un NSTimer), soit, c'est mieux, utiliser un thread secondaire.
  • GreensourceGreensource Membre
    01:28 modifié #3
    Ok, bas alors je vais voir ça avec un Thread ça me fera apprendre.
    Merci de la réponse, je me rappel maintenant avoir vu des sujets à  propos de la boucle d'events, mais j'ai pas fait la bonne recherche du coup ;)
  • MalaMala Membre, Modérateur
    01:28 modifié #4
    En attendant, tu peux toujours mettre un display en lieu et place du setNeedsDisplay mais ta boucle bloque le thread principal donc pas moyen de récupérer la main au niveau de l'interface.
  • GreensourceGreensource Membre
    01:28 modifié #5
    Ah oui en effet, display fonctionne bien! Bon je vais quand même me faire un peu de Thread, j'en ai jamais fait et ça semble une bonne occaz!

    Par contre la suite de fibo elle peut devenir très très grande évidemment, mais c'est mal foutu parce que les NSTextField ils n'affichent pas les unsigned long long que j'utilise pour le calcul de la suite.
    Il existe d'autres sort de champ pour afficher des unsigned long long?
  • BaardeBaarde Membre
    01:28 modifié #6
    dans 1245676173:
    Par contre la suite de fibo elle peut devenir très très grande évidemment, mais c'est mal foutu parce que les NSTextField ils n'affichent pas les unsigned long long que j'utilise pour le calcul de la suite.
    Il existe d'autres sort de champ pour afficher des unsigned long long?

    Il suffit de passer par une chaà®ne de caractère.
    NSTextField * textField;<br />unsigned long long value;<br />[textField setStringValue:[NSString stringWithFormat:@&quot;%llu&quot;, value]];
    
  • GreensourceGreensource Membre
    01:28 modifié #7
    pff que je suis bête. Ou plutôt j'ai un mauvais reflex de questionnement au forum ;)
    Merci
Connectez-vous ou Inscrivez-vous pour répondre.