I need to find the text in an NSTextView
, and save it to a file. I can do the saving fine. I have used -stringValue
, and -textStorage
so far, but neither have worked. When I put -stringValue
in, it just gave me (null), and when I put -textStorage
in, it gave me a very large chunk of nothing (like a long paragraph of invisible text).
How can I put the text from an NSTextView
into an NSString
?
Try
NSString *text = [[myTextView textStorage] string];
The NSTextStorage inherits from NSMutableAttributedString which inherits from NSAttributedString . The latter implements the string method.
This isn't too obvious if you just look at the NSTextView's instance methods in the documentation.
Try this:
[myTextView string];
If you are struggling to write the textView stringValue into a file try something like this:
[[myTextView string] writeToFile:@"someFile" atomically:YES encoding:NSUnicodeStringEncoding error:&error];
Hope this helps!
when setting value, use text.string = @"XXXX";
when getting value, use STRING = [text.string copy];
because if you forget copy, the mutableString
will be deliver to STRING
. This will raise bugs when you editing multiple things with a single textview
.
In order to compile all of the information for anyone else with this question, I am answering my own question. If I am not allowed to do this, please tell me.
The code is actually extremely simple.
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];
}
Instead of voting this up, vote for the other two people that answered this.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.