如何从文件加载 NSAttributedString?

How can I load a NSAttributeString from a file?

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,我该怎么做?你能帮帮我吗?

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 等标准格式。