Как найти текст в NSTextView?

мне нужно найти текст в NSTextView, и сохранить его в файл. Я могу прекрасно сэкономить. Я использовал -stringValue и -textStorage до сих пор, но ни один из них не работал. Когда я ставлю -stringValue in, он просто дал мне (null), и когда я положил -textStorage in, это дало мне очень большой кусок ничего (как длинный абзац невидимого текста).

как я могу поместить текст в NSTextView на NSString?

4 ответов


попробовать

NSString *text = [[myTextView textStorage] string];

nstextstorage наследуется от NSMutableAttributedString, который наследует от NSAttributedString. Последний реализует строка метод.

Это не слишком очевидно, если вы просто посмотрите на методы экземпляра NSTextView в документации.


попробуйте это:

[myTextView string];

Если вы пытаетесь записать TextView stringValue в файл, попробуйте что-то вроде этого:

    [[myTextView string] writeToFile:@"someFile" atomically:YES encoding:NSUnicodeStringEncoding error:&error];

надеюсь, что это помогает!


при установке значения используйте text.string = @"XXXX";
при получении значения, используйте STRING = [text.string copy];

потому что если вы забудете скопировать тег mutableString будет поставлять STRING. Это вызовет ошибки при редактировании нескольких вещей с помощью одного textview.


чтобы собрать всю информацию для кого-либо еще с этим вопросом, я отвечаю на свой собственный вопрос. Если мне не разрешат, пожалуйста, скажите мне.

код на самом деле очень прост.

файлы.h

#import <Cocoa/Cocoa.h>

@interface Files : NSObject {
    IBOutlet id dataToSave;
}

- (IBAction) saveData: (id) sender;

файлы.м

@implementation Files

- (IBAction) saveData: (id) sender; {
    NSString *text = [[dataToSave  textStorage] string];
    NSLog(@"%@", text);
    [text writeToFile:@"Users/justin/Desktop/test.txt atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}

вместо того, чтобы голосовать за это, голосуйте за двух других людей, которые ответили на это.