编码文件不会在页面中打开?

时间:2014-10-18 01:55:31

标签: objective-c cocoa

我正在将字符串导出/保存到rtf文件,但该文件不会在页面中打开。该文件保存,我可以在Text Wrangler中打开它,所以一切正常,你们中的任何人都知道它为什么不能在Pages中打开吗?

代码:

-(IBAction)saveFile{
  NSString *myString = @"Hello";
  NSSavePanel *panel = [NSSavePanel savePanel];
  [panel setAllowedFileTypes:[NSArray arrayWithObject:@"rtf"]];
  NSSavePanel *panel = [NSSavePanel savePanel];

  if ([panel runModal]==NSOKButton) {
       BOOL saveResults = [myString writeToURL:[panel URL] 
                               atomically:YES
                               encoding: NSUnicodeStringEncoding
                               error: nil];
  }
  }

我尝试了不同的编码,NSUTF8 ......,NSUTF16 ......,NSASCII ......没有变化。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

是的,代码似乎只是将字符串“Hello”写入文件。那不是rtf文件的工作方式。您需要以rtf格式保存文件,这与纯文本不同。 This page显示了rtf文档的示例。

因此,不要仅向文件输出“Hello”,而是尝试输出:

{\rtf1\ansi\deff0
Hello\line
}

这将在Pages中打开。