Objective C – 如何从NSAttributedString创buildrtf

我可以从rtfstring转换为使用以下属性的string:

NSAttributedString *attributedStr = [[NSAttributedString alloc] initWithData:data options:@{NSDocumentTypeDocumentAttribute:NSRTFTextDocumentType} documentAttributes:nil error:nil]; 

现在我怎样才能从归档string转换回rtfstring?

你想使用-dataFromRange:documentAttributes:error:

 NSAttributedString *str = [[NSAttributedString alloc] initWithString:@"YOLO" attributes:nil]; NSData *data = [str dataFromRange:(NSRange){0, [str length]} documentAttributes:@{NSDocumentTypeDocumentAttribute: NSRTFTextDocumentType} error:NULL]; [data writeToFile:@"/me.rtf" atomically:YES]; 

当然,你会想要一些属性,而不是“YOLO”,但你明白了。

另外,如果你只是想把它写到磁盘上,那么fileWrapperFromRange:documentAttributes:error:甚至可能是更好的select。 您可以从“ 分配的string编程指南”中find更多关于读写的内容

按照以下方式做:

 NSData *rtfdata = [attributedText RTFDFromRange:NSMakeRange(0, attributedText.length) documentAttributes:nil];