Как найти текст в NSTextView?
Мне нужно найти текст в NSTextView
и сохранить его в файле. Я могу сделать сберегательный штраф. Я использовал -stringValue
и -textStorage
до сих пор, но ни один из них не работал. Когда я помещал -stringValue
in, он просто дал мне (null), и когда я положил -textStorage
in, он дал мне очень большой кусок ничего (например, длинный абзац невидимого текста).
Как я могу поместить текст из NSTextView
в NSString
?
Ответы
Ответ 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];
}
Вместо того, чтобы голосовать за это, проголосуйте за других двух людей, которые ответили на это.