尝试将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];
}
答案 0 :(得分: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
,但你可能会给出一个有效的对象来获取错误信息。