在iOS上将NSData转换为NSAttributedString

Ram*_*ain 1 objective-c nsattributedstring nsdata ios ios7

在我的应用程序中,我试图存档一个NSAttributedString对象,所以我NSData使用以下代码成功将其转换为对象:

NSData *attrStrData = [attrStr dataFromRange:NSMakeRange(0, attrStr.length) documentAttributes:NULL error:nil];
Run Code Online (Sandbox Code Playgroud)

现在我想将此NSData对象转换回来NSAttributedString.我相信OSX你有一些方法,但有没有iOS?我找到了NSAttributedString+Encoding,但似乎对它的支持较少,而且没有CocoaPods.欢迎任何建议.

Dun*_*n C 7

NSAttributedString符合NSCoding.只需使用这样的代码:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject: myAttrString];
Run Code Online (Sandbox Code Playgroud)

然后,当您想要将NSData转换回字符串时:

NSAttributedString *myAttrString = 
  [NSKeyedUnarchiver unarchiveObjectWithData: data];
Run Code Online (Sandbox Code Playgroud)

简单,相同的代码适用于Mac和iOS.