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];