0

尝试将 NSTextView 数据导出到 RTF 文档。我的旧代码,主要是来自 NSSavePanel 的“文件名”,已被贬值。文档声明“使用 URL”。我怎样才能做到这一点?

谢谢。

NSSavePanel *panel = [NSSavePanel savePanel];

[panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
if ([panel runModal] == NSOKButton){


[[textView RTFFromRange:
      NSMakeRange(0, [[textView string] length])] 
     writeToFile:[panel filename] atomically:YES];

}
4

1 回答 1

0

正如文档所说,您应该URL使用NSSavePanel.

代码看起来相同,但您将改用该NSString writeToURL:atomically:encoding:error:方法:

NSSavePanel *panel = [NSSavePanel savePanel];

[panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
if ([panel runModal] == NSOKButton){
    [[textView RTFFromRange:NSMakeRange(0, [[textView string] length])] writeToURL:[panel URL] atomically:YES encoding:NSUTF8StringEncoding error:NULL];
}

注意指定编码(这里我设置 UTF-8)和错误对象的两个参数。我NULL在这里给出,但你可能会给出一个有效的对象来获取错误信息。

于 2012-02-20T15:33:13.487 回答