我正在尝试从字符串创建一个rtf文件。 rtf文件已成功创建,但当我尝试打开文件时,会出现以下警告(如:)
无法打开文档“aa.rtf”。
我的项目中有以下代码:
NSString* lol = @"sasasafagagsadfsada";
NSSavePanel *panel = [NSSavePanel savePanel];
[panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
if ([panel runModal] == NSOKButton){
[lol writeToURL:[panel URL] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}
怎么了?谢谢!
答案 0 :(得分:0)
对于富文本,您应该使用NSAttributedString
代替NSString
。根据需要格式化文本,然后使用以下命令写入RTF:
NSAttributedString *str = ...;
NSData *rtfData = [str RTFFromRange:NSMakeRange(0, [str length]) documentAttributes:nil];
[rtfData writeToFile:destinationPath atomically:YES];
要了解如何创建和操作属性字符串,请参阅Apple的Attributed String Programming Guide。