如何在NSTextView中查找文本?

时间:2011-04-03 21:11:28

标签: objective-c cocoa nsstring nstextview

我需要在NSTextView中找到该文本,并将其保存到文件中。我可以保存罚款。到目前为止,我已经使用了-stringValue-textStorage,但两者都没有奏效。当我放入-stringValue时,它只给了我(null),当我放入-textStorage时,它给了我很大一部分(就像一段不可见的文本)。

如何将NSTextView中的文字放入NSString

4 个答案:

答案 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];
}

而不是投票,投票给另外两个回答此问题的人。