重写 NSDocument 的 fileWrapperOfType 会导致“无法保存文档”。

发布于 2024-08-24 04:40:14 字数 472 浏览 9 评论 0原文

我必须错过一些简单的东西,但谷歌没有帮助。

我的文件保存和加载都很好。 (我已经覆盖 dataOfType 以获取其中的一些内容。)然后我覆盖 fileWrapperOfType (准备创建捆绑包),我得到一个“文档‘无标题’ ' 无法另存为 '测试'。”当我尝试保存时。即使当我将我的方法清空为我能想到的绝对最基本的形式时......

- (NSFileWrapper*)fileWrapperOfType:(NSString*)typeName error:(NSError**)outError
{
  NSFileWrapper* worldWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil];
  return [worldWrapper autorelease];
}

我仍然无法保存。我缺少什么?

I've got to be missing something simple, but Google is not helping.

My file saves and loads fine. (I've overridden dataOfType to get some stuff in it.) Then I override fileWrapperOfType (in preparation for creating a bundle), and I get a "The document 'Untitled' could not be saved as 'test'." sheet when I try to save. Even when I empty out my method to the absolute most basic form I can think of...

- (NSFileWrapper*)fileWrapperOfType:(NSString*)typeName error:(NSError**)outError
{
  NSFileWrapper* worldWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:nil];
  return [worldWrapper autorelease];
}

...I still can't save. What am I missing?

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

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

发布评论

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

评论(1

幽蝶幻影 2024-08-31 04:40:14

来自文档(强调我的):

字典必须包含其值是要成为子项的文件包装器且其键是文件名的条目。

您使用 nil 所以我的猜测是 worldWrappernil,并且返回 nil 被解释为无法保存你的文件。

From the docs (emphasis mine):

The dictionary must contain entries whose values are the file wrappers that are to become children and whose keys are filenames.

You use nil so my guess is that worldWrapper is nil, and returning nil is interpreted as not being able to save your file.

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