在我的应用中,我正在尝试归档NSAttributedString
对象,因此我已使用以下代码将其成功转换为NSData
对象:
NSData *attrStrData = [attrStr dataFromRange:NSMakeRange(0, attrStr.length) documentAttributes:NULL error:nil];
现在我想将此NSData
对象转换回NSAttributedString
。我相信OSX
你有一些方法可以做到这一点,但iOS
上有没有?我找到了NSAttributedString+Encoding
,但似乎对它的支持较少,CocoaPods
无法使用。欢迎任何建议。
答案 0 :(得分:7)
NSAttributedString符合NSCoding。只需使用这样的代码:
NSData *data = [NSKeyedArchiver archivedDataWithRootObject: myAttrString];
然后当你想将NSData转换回字符串时:
NSAttributedString *myAttrString =
[NSKeyedUnarchiver unarchiveObjectWithData: data];
简单,相同的代码适用于Mac和iOS。
答案 1 :(得分:1)
试试这个
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithData:attrStrData options:nil documentAttributes:nil error:nil];
班级参考here