cocoa - 保存 NSDocument 的最佳实践

标签 cocoa nsdocument

我正在开发一个基本的hello world应用程序,它将打开一个txt文档,编辑它,然后最后保存 文档。处理编辑的最佳实践是什么。

我已经通读了 Apple 的文档,但是当我检查 NSError **outError 时,该方法返回 NO。当我评论出来的时候 - (BOOL)writeToURL:(NSURL*)writeURL ofType:(NSString*)类型 forSaveOperation:(NSSaveOperationType)saveOp 原始内容URL:(NSURL*)origURL 错误:(NSError**)errorPtr 将写出该文件。

是否有保存文档的最佳实践?下面的实现有问题吗?如果您注释掉对 errorPtr 的检查,则修改文件将写入原始文件。

 - (BOOL)writeToURL:(NSURL*)writeURL 
             ofType:(NSString*)type 
   forSaveOperation:(NSSaveOperationType)saveOp 
originalContentsURL:(NSURL*)origURL 
              error:(NSError**)errorPtr {

  if (errorPtr) {

    *errorPtr = [NSError errorWithDomain:NSOSStatusErrorDomain code:unimpErr userInfo:NULL];

    return NO;
  }


    return [[[self.txtView textStorage] string] writeToURL:writeURL atomically:NO encoding:NSUTF8StringEncoding error:errorPtr];
  }

最佳答案

改为覆盖 fileWrapperOfType:error:dataOfType:error:

而且,错误指针是一个输出参数。如果需要并且不为空,您应该将其设置在函数内。

关于cocoa - 保存 NSDocument 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646013/

相关文章:

macos - 基于 NSDocument 的 Mac 应用程序 - 抑制奇怪的保存更改提示

macos - Mavericks 和 NSStatusItem 的具有多个监视器的自定义 View

xcode - 在启动时通过文件拖放调试 NSDocument 应用程序?

objective-c - 什么时候应该扩展 NSDocument,什么时候应该扩展 NSWindowController?

objective-c - 根据 double 值对包含对象的 NSmutable 数组进行排序

cocoa - 如何访问对象的 NSDocument?

objective-c - 我什么时候应该为 OSX 应用程序子类化 NSDocumentController ?

cocoa - NSXMLParserErrorDomain 错误 1549 是什么意思

objective-c - 在 Objective-C 中自动点击 iTunes 鼠标

objective-c - 制作一个具有开/关状态的自定义 NSButton,但仍处理 IBActions