Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

Попробуйте

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

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

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

Ответ 2

Попробуйте следующее:

[myTextView string];

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

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

Надеюсь, это поможет!

Ответ 3

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

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

Ответ 4

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

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

Files.h

#import <Cocoa/Cocoa.h>

@interface Files : NSObject {
    IBOutlet id dataToSave;
}

- (IBAction) saveData: (id) sender;

Files.m

@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];
}

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