我需要在NSTextView
中找到该文本,并将其保存到文件中。我可以保存罚款。到目前为止,我已经使用了-stringValue
和-textStorage
,但两者都没有奏效。当我放入-stringValue
时,它只给了我(null),当我放入-textStorage
时,它给了我很大一部分(就像一段不可见的文本)。
如何将NSTextView
中的文字放入NSString
?
答案 0 :(得分:37)
尝试
NSString *text = [[myTextView textStorage] string];
NSTextStorage继承自NSMutableAttributedString继承的NSAttributedString。后者实现了string方法。
如果您只是查看文档中的NSTextView实例方法,这不是太明显。
答案 1 :(得分:3)
试试这个:
[myTextView string];
如果您正在努力将textView stringValue写入文件,请尝试以下方法:
[[myTextView string] writeToFile:@"someFile" atomically:YES encoding:NSUnicodeStringEncoding error:&error];
希望这有帮助!
答案 2 :(得分:1)
设置值时,请使用text.string = @"XXXX";
获取价值时,请使用STRING = [text.string copy];
因为如果您忘记了副本,mutableString
将会传递给STRING
。当您使用单个textview
编辑多个内容时,这会引发错误。
答案 3 :(得分:0)
为了用这个问题为其他人编译所有信息,我正在回答我自己的问题。如果我不被允许这样做,请告诉我。
代码实际上非常简单。
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];
}
而不是投票,投票给另外两个回答此问题的人。