将 NSTextViewData 保存到 RTF 文档

发布于 2025-01-07 12:00:23 字数 404 浏览 0 评论 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];

}

Trying to export NSTextView data to an RTF doc. My old code, mainly "filename" from NSSavePanel is depreciated. The docs state "use URL". How can I do this?

Thanks.

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

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ゞ记忆︶ㄣ 2025-01-14 12:00:23

正如文档所说,您应该使用 NSSavePanelURL 方法。

代码看起来是一样的,但您将使用 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,但您可能会给出一个有效的对象来获取错误信息。

As the doc says, you should use the URL method of NSSavePanel.

The code will look the same, but you'll use the NSString writeToURL:atomically:encoding:error: method instead :

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

Note the two parameters to specify an encoding (here I set UTF-8), and an error object. I give NULL here, but you would perhaps give a valid object to get error information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文