NSTextView

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • textView ist ein IBOutlet, richtig?

    oder versuchst du etwa den String irgendwie zu speichern und erst dann in einen NSTextView zu leiten?

    ist setText zu irgendeiner Klasse eine Instance Methode?

    z.B.
    [[textView textStorage] setText:@"neuer Text"]
    funktioniert, aber warum??

    nur ein paar Zusatzfragen.

    AndrÈ
    «Der Sommerserver fiel aus». Mirko Bonné, Hibiskus Code
  • Ups sorry, sollte nat¸rlich

    [textView setString :@"neuer Text"]

    heissen. Ja textView ist ein IBOutlet einer von NSWindowController abgeleiteten Klasse. Um den Text zu setzen hatte ich eine Methode mit dem Namen setInfoText definiert. Nach dem Einbau eines NSLog habe ich gewundert, warum setInfoText 2 mal aufgerufen wird. setInfoText ist wohl eine Methode von NSWindowController, obwohl ich in der Doku keine Beschreibung dazu gefunden habe. Der 1. Aufruf hat wohl das NSTextView zerschossen. ;(

    Ich habe die Methode jetzt umbenannt und siehe da alles funktioniert wieder.

    Nee nee, diese Cocoa Doku ist doch teilweise sehr unvollst‰ndig.
  • Original von AndrÈ
    ist setText zu irgendeiner Klasse eine Instance Methode?

    Nein, ich finde keine Definition einer setText: Methode.
    Original von AndrÈ
    [[textView textStorage] setText:@"neuer Text"]
    funktioniert, aber warum??

    Das ist echt 'ne gute Frage. Rein logisch gesehen d¸rfte das nicht funktionieren, denn wenn ich das so compiliere, dann gibt es diese Warnung:

    MyObject.m:7: warning: `NSTextStorage' does not respond to `setText:'

    Dummerweise funktioniert es trotzdem irgenwie?(. Wie gesagt, in der Doku ist keine setText: Methode zu finden. K¸nstliche Intelligenz? Oder spielt da etwa Key Value Coding 'ne Rolle bei?

    Michael
  • Original von Michael
    Dummerweise funktioniert es trotzdem irgendwie?(. Wie gesagt, in der Doku ist keine setText: Methode zu finden. K¸nstliche Intelligenz? Oder spielt da etwa Key Value Coding 'ne Rolle bei?


    Hab ich es doch gewusst :D. Key Value Coding spielt hier mit. Die Klasse NSTextStorage hat eine Category "Scripting", in der die Methode -setText: definiert wird. Da die Category nicht ˆffentlich, also nicht in der Headerdatei drin ist (deshalb auch nicht in der Doku zu finden), mault der Compiler beim compilieren ein bischen. Und wie sagt die Doku so schˆn:

    ÑScripting in Mac OS X relies heavily on key-value coding to provide automatic support for executing AppleScript commands.ì

    Michael