NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"file.txt"];
NSString *str = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
self.textInAFile = str;
如果我想要一个NSString,我会使用这个代码...... 但我想要一个NSAttributedString,我该怎么做?你能救我吗?
答案 0 :(得分:0)
NSAttributedString
实现NSSecureCoding
协议,该协议继承自NSCoding
协议。因此,您可以将其保存为原生格式:
// To save
NSData *data = [NSArchiver archiveDataWithRootObject:attributedString];
[data writeToFile:…];
// load
NSData *data = [NSData dataWithContentsOfFile:…];
NSAttributedString *attributedString = [NSUnarchiver unarchiveObjectWithData:data];
我想提一下,有更复杂的方法来编写resp。读数据。浏览NSData
的文档。我为了简单起见选择了这些。
但是,如评论中所述,您可以选择RTFD等标准格式。