[Enfin Résolu] Disparition de FileOwner's : De xib à  Storyboard

2»

Réponses

  • S U P E R !


     


    C'est effectivement beaucoup plus clair comme ça  :p


     


    Reste un petit problème avec le NSTextView qui contient l'auteur. Il faut quitter la case avec tab pour que les changements soit pris en compte et la mention 'édited' dans la fenêtre ne fonctionne pas.


     


    J'ai coché l'option Continuously Update Value dans le binding du textfield et ça marche  


     


    J'ai bon ?  ::) ?


  • Si tu veux que ça fonctionne comme ça, oui t'as bon.


    Maintenant un TextField il faut faire "enter" ou changer de contrôle pour valider la saisie normalement.


     


    Mais c'est vrai que ton point de vue se défend.


     


    Si jamais t'as des questions sur le pourquoi du comment de certains trucs n'hésite pas  


  • Je lis ton code avec plaisir et m'aperçois à  quel point je partais de loin ^^


     


    Je comprends le fonctionnement et les principes mis en oe“uvre.


     


    Toutefois je tilte un peu sur la gestion de la NSTextView. Je ne comprends pas la présence de la var dans le controller ni comment se fait le lien avec le modele ça à  certainement à  voir avec le delegate mais c'est pas très clair pour moi...

  • NSTextView est en fait un peu plus complexe.

    En gros et pour simplifier un peu, NSTextView est un système qui comporte plusieurs morceaux:

    - un qui gère le NSString ou NSAttributedString qui contient le texte en lui même : NSTextStorage

    - un qui prend le texte, la taille de la view et qui arrange le tout : NSLayoutManager

    - un qui affiche le tout et qui s'occupe des entrées : NSTextView


    Ajoutons à  ça NSUndoManager, 2/3 protocoles en plus et on a un sytème de gestion de texte complexe et surtout très complet.


    Tout cela est directement géré par le framework donc autant le laisser faire, lui donner un texte de départ, le laisser se demerder avec et récupérer le texte avant de l'enregistrer. Simple !
  • Le code complet du projet est disponible sur cette page GitHub.


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