Ios 目标C-如何从NSAttribute字符串创建rtf

Ios 目标C-如何从NSAttribute字符串创建rtf,ios,objective-c,rtf,nsattributedstring,Ios,Objective C,Rtf,Nsattributedstring,我可以使用以下命令将rtf字符串转换为属性字符串: NSAttributedString *attributedStr = [[NSAttributedString alloc] initWithData:data options:@{NSDocumentTypeDocumentAttribute:NSRTFTextDocumentType} documentAttributes:nil error:nil]; 现在,如何将attributedString转换回rtf string?您想使用

我可以使用以下命令将rtf字符串转换为属性字符串:

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

现在,如何将attributedString转换回rtf string?

您想使用-dataFromRange:DocumentAttribute: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:
甚至可能是更好的选择。您可以从

中找到有关读写的更多信息,如果没有这样做的方法,那么我怀疑您能找到。我使用了NSDictionary*DocumentAttribute=[NSDictionary Dictionary Dictionary WithObjectsAndKeys:NSRTFTextDocumentType,NSDocumentTypeDocumentAttribute,nil];NSData*rtfData=[txtView.attributedText dataFromRange:NSMakeRange(0,txtView.attributedText.length)文档属性:文档属性错误:NULL];NSString*rtfString=[[NSString alloc]initWithData:rtfData编码:NSUTF8StringEncoding];谢谢你的帮助:)@ghazi_jaffary这就是我来这里的目的