0

我正在尝试从字符串创建一个 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];
    }


怎么了?
谢谢!

4

1 回答 1

0

您应该使用NSAttributedString而不是NSString富文本。随意格式化文本,然后使用以下命令写入 RTF:

NSAttributedString *str = ...;
NSData *rtfData = [str RTFFromRange:NSMakeRange(0, [str length]) documentAttributes:nil];
[rtfData writeToFile:destinationPath atomically:YES];

要了解如何创建和操作属性字符串,请参阅 Apple 的属性字符串编程指南

于 2012-05-23T19:32:12.460 回答