Utilisation d'une NSTextView

UniXUniX Membre
15:33 modifié dans API AppKit #1
Salut.

Bon, je viens de m'attaquer à  bouquiner l'architecture de gestion de texte de Cocoa ..... ;D Balèze. Je crois qu'il faut y passer un peu de temps avant de comprendre ....

Dans un premier temps, je voudrais remplir une NSTextView avec du texte contenu dans une NSString, puis lorsuqe l'édition est finie dans la NSTextView, sauver son contenu dans la NSString.

Le texte est tout simple, sans aucun attribut. Quelles sont les 2 méthodes qui vont m'être utiles ?

Réponses

  • ChachaChacha Membre
    15:33 modifié #2
    dans 1129553090:

    Le texte est tout simple, sans aucun attribut. Quelles sont les 2 méthodes qui vont m'être utiles ?

    Je dirais "setString" et "string", qui sont des méthodes héritées de NSText.
    La doc de Cocoa est mal faite dans le sens où il faut chercher soi-même quelles méthodes sont héritées. Un utilitaire comme AppKiDo peut rendre quelques services pour contourner cette limitation de la doc.

    +
    Chacha
  • UniXUniX Membre
    15:33 modifié #3
    Je viens de tester la chose suivante :
    [maTextView setString:maString];
    

    pour charger le texte dans la NSTextView, et :
    [maString setMaString:[maTextView string]];
    


    Mais ça ne fonctionne pas, [maTextView string] renvoie nil.
  • ChachaChacha Membre
    15:33 modifié #4
    dans 1129554970:

    <br />[maTextView setString:maString];<br />[maString setMaString:[maTextView string]];
    

    Mais ça ne fonctionne pas, [maTextView string] renvoie nil.


    "setMaString" est une méthode qui n'existe pas : c'est ton vrai code ou une erreur de recopie ?
    Si tu veux utiliser "setString" pour changer la valeur d'une string, il faut que cette dernière soit une NSMutableString, et non une NSString. Le compilateur t'insulte-t-il comme quoi tu utilises des méthodes à  mauvais escient ?

    Mais dans le principe, ça devrait fonctionner. Si tu fais:
    <br />NSLog(@&quot;maTextView = %@, maString=%@&quot;, maTextView, maString);<br />[maTextView setString:maString];<br />[maString setString:[maTextView string]];//en supposant que maStringt est une NSMutableString<br />
    

    Qu'observes-tu ? Si une de tes variables est nil, tu devras te couvrir la tête de cendres en pénitence.

    +
    Chacha
  • WIMPWIMP Membre
    15:33 modifié #5
    Mon second tuto (Echecs) à  paraitre semaine prochaine, est justement consacré à  NSTextView. Il devrait t'être très utile. C'est vrai qu'on à  un peu du mal au début à  y voir clair sur ce sujet.
  • UniXUniX Membre
    15:33 modifié #6
    Bon là  j'ai réussi à  me dépatouiller, mais c'est vrai que c'est un pb ultra simple. Si j'ai à  faire quelquechose de plus compliqué avec du texte, à  l'heure actuelle j'en suis incapable ... :(
    Et si tu as un tuto dans les cartons, je me ferais un plaisir de le consulter.
Connectez-vous ou Inscrivez-vous pour répondre.