Как найти текст в 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];
}
вместо того, чтобы голосовать за это, голосуйте за двух других людей, которые ответили на это.