将NSMutableAttributedString写入/读取到Plist

时间:2012-09-10 16:50:48

标签: objective-c cocoa rtf nstextview nsattributedstring

好的,我们在这里:

  • 我有一个NSTextView
  • 我收到了NSMutableAttributedString内容
  • 我无法读取/写入plist

通过使用Rob的代码(Saving custom attributes in NSAttributedString),我已经取得了一些进展(我正在设法将数据写入磁盘),但我无法恢复它(= NSKeyedUnarchiver返回{{1 }})。


编码:

nil

解码:

// where MAS --> NSMutableAttributedString

NSData* stringData = [NSKeyedArchiver archivedDataWithRootObject:MAS];

有什么想法吗?任何可能的解决方法(即使不是NSMutableAttributedString* mas = (NSMutableAttributedString*)[NSKeyedUnarchiver unarchiveObjectWithData:dat]; ,我怀疑它适用于RTF ...)将受到欢迎!

1 个答案:

答案 0 :(得分:4)

以下是它的解决方法。

NSAttributedString - > NSData

NSData* j = [(NSMutableAttributedString*)MAS RTFDFromRange:NSMakeRange(0,[[MAS string] length]) 
                                        documentAttributes:nil];

NSData - > NSAttributedString

NSMutableAttributedString* mas = [[NSMutableAttributedString alloc] initWithRTFD:dat 
                                                              documentAttributes:nil];

这很简单。