2010-11-23 3 views
0

Ich möchte den Textinhalt eines NSTextView mit der NSLog Funktion in Objective-C ausdrucken. Der Code, den ich bisher habe, ist:Frust-Problem mit NSTextView

NSString *s=[updateSource textStorage];

NSLog(s);

Alles, was ich bekommen, ist der Fehler:

[NSConcreteTextStorage getCharacters:range:]: selector not recognized [self = 0x43f4b0]

Antwort

0

Es ist nicht die Ursache Ihres Problems, aber Sie sollten NSLog verwenden (@ "% @", s); um Ihre Zeichenfolge zu protokollieren. Das erste Argument von NSLog sollte immer eine Formatzeichenfolge sein und nicht der Wert, den Sie protokollieren möchten.

(wenn Sie dies nicht tun, wird Ihre Anwendung wahrscheinlich zum Absturz bringen, wenn der Wert Prozentzeichen enthält)

2

Verwenden [updateSource string] statt. [updateSource textStorage] ist kein NSString, sondern ein NSTextStorage.

+0

Wenn Sie NSTextStorage haben und müssen drucken, was es speichert, müssen Sie es fragen, denn es ist '-string'. Andernfalls, wenn Sie Zugriff auf die tatsächliche NSTextView haben, rufen Sie dort einfach "-string". – d11wtq