Cocoa 将NSTextViewData保存到RTF文档
正在尝试将NSTextView数据导出到RTF文档。我的旧代码(主要是NSSavePanel中的文件名)已贬值。文档状态使用URL。我该怎么做 谢谢Cocoa 将NSTextViewData保存到RTF文档,cocoa,rtf,nssavepanel,Cocoa,Rtf,Nssavepanel,正在尝试将NSTextView数据导出到RTF文档。我的旧代码(主要是NSSavePanel中的文件名)已贬值。文档状态使用URL。我该怎么做 谢谢 NSSavePanel *panel = [NSSavePanel savePanel]; [panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]]; if ([panel runModal] == NSOKButton){ [[textView RTFFromRange:
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];
}
正如文档所说,您应该使用NSSavePanel的URL方法 代码看起来相同,但您将使用NSString writeToURL:Atomicaly:encoding:error:method代替:
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,但您可能会给出一个有效的对象来获取错误信息