问题标签 [nsdocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5400 浏览

objective-c - 在 NSDocumentDirectory 中创建子文件夹

我只是想知道是否可以在 NSDocumentDirectory 中创建一个子文件夹并将数据写入该创建的文件夹,例如:

提前感谢您的支持!

0 投票
2 回答
1043 浏览

cocoa - “在 15 分钟内构建文本编辑器”参考示例不起作用

我正在尝试处理 NSDocument,因此我尝试了Text System Overview 参考中的Building a Text Editor in 15 Minutes示例。

我对建议的代码进行了一些更改,例如使用属性和综合来代替声明和定义访问器方法。

我遵循了参考文献中写的每个步骤,但无法实现第 5 步:

如果尚未打开,请双击 MyDocument.xib 以在 Interface Builder 中打开文档窗口。从 Xcode 中,将 MyDocument.h 文件图标拖到 MyDocument.xib 的文档窗口中。此步骤通知 MyDocument.xib 文件 MyDocument 对象接口现在有一个名为 textView 的出口变量。

当我编译时,它在 NSDocument 的子类中给了我以下警告:

myDocument 可能不响应 setString

MyDocument 窗口没有出现,每次我尝试执行时都会在控制台中出现此消息:

-[MyDocument 字符串]:无法识别的选择器发送到实例 0x215970

谁能建议我哪里可能错了?我正在尝试在 Snow Leopard 上运行它...检查代码,您也可以从这里下载。

0 投票
2 回答
1405 浏览

cocoa - NSDocument 读取 RTFD 数据

我正在开发一个文本编辑器,我想添加 RTFD 支持。将 RTFD 文件类型添加到我的 Info.plist 后,我​​收到消息“readFromFileWrapper:ofType:error: must be overridden for your application to handle file packages.”

我浏览了文档并发现了一些东西,但我并没有设法做所有事情......有人可以这么好心并帮助我吗?

任何帮助都会得到帮助:)

0 投票
1 回答
944 浏览

cocoa - 保存后设置 lastPathComponent 字符串

基于文档的 QTKit 应用程序。保存时,活动窗口标题栏中的新文件名会更新。我还想在打开的文档的其他位置的文本字段中显示新保存的文件名字符串。代码成功保存了新文档。但是 lastPathComponent 字符串不会更新。请指教?

谢谢,

保罗

0 投票
1 回答
209 浏览

c++ - 关闭多线程 NSDocument

我有一个基于 NSDocument 的 Cocoa 应用程序,并且当用户关闭文档窗口或应用程序退出时,我需要优雅地终止几个辅助线程(等待它们通过当前循环运行)。我正在使用 canCloseDocumentWithDelegate 在文档关闭时向线程发送一个标志,然后当它们完成时,其中一个调用 [NSDocument close]。当用户关闭文档窗口时,这似乎很有效,但是当您退出应用程序时,它会出现各种错误(在调用任何内容之前崩溃)。这种事情的正确程序是什么?

0 投票
2 回答
53 浏览

objective-c - 在这种情况下,什么是文件?

我对文档架构有点困惑。让我们看看 MSN for Mac - 该应用程序中的文档是什么?通讯录?我们插入与其他人交谈的文本?

当需要将数据保存或读取到应用程序中时,它应该读取什么类型的数据?联系人列表或聊天记录?

更新:稍微推进一下,什么是文件?应用程序准备打开的文件类型?

0 投票
1 回答
748 浏览

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

我有一个包含项目列表的主窗口的应用程序,并且可以从该窗口打开不确定数量的窗口。这些窗口中的每一个都可以包含模型对象的多个实例,这些实例列在抽屉中。

我通过使(主窗口)项目列表扩展 NSDocument 并且每个其他窗口扩展 NSWindowController 来开始我的项目。但是从功能上讲,主窗口每个蓝月亮都会使用一次,尽管它是用户启动应用程序时应该弹出的窗口,并且扩展 NSWindowController 的窗口是用户广泛使用的窗口,也是最终持有的窗口我的“文件”。

正因为如此,我现在在实现诸如新建、打开和保存等方法时遇到了问题——我发现自己编写了很多手册上说应该由超类实现的代码。

因为我正处于十字路口,所以我想知道我应该如何实现我的应用程序。我应该将我的主窗口重新分解为一个扩展 NSWindowController 的类并从包含主菜单的 xib 启动它,还是应该保持原样并覆盖 newDocument、openDocument 等以获得所需的功能?


只是为了帮助心理形象,我的应用程序像 MSN 一样工作 - 我有一个主列表,上面有几个项目(MSN 上的联系人列表),当我双击一个项目时我打开一个窗口(你打开一个聊天到用户)。我的应用程序更进一步,为每个“聊天”窗口保留了模型对象的多个实例,并且每个实例都可以通过抽屉中的表格访问。

0 投票
1 回答
738 浏览

objective-c - 覆盖 NSDocument 的 fileWrapperOfType 会导致“无法保存文档”。

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

我的文件保存并加载正常。(我已经重写dataOfType以获取一些东西。)然后我重写fileWrapperOfType(准备创建一个包),我得到一个“文档'Untitled'无法保存为'test'。” 当我尝试保存时。即使我将我的方法清空为我能想到的绝对最基本的形式......

...我仍然无法保存。我错过了什么?

0 投票
1 回答
253 浏览

objective-c - 保存“项目”类型的文档(包含子文档)

我正在尝试创建一个类似“项目”的文档,因为它包含指定目录中的子文档。我想要一个全新的文档保存,以使用适当的子目录设置该目录。我想要一个“另存为”来将所有这些子目录和其中的任何文件复制到新位置。但我想要一个“保存”来只更新某些数据文件并且(当然)不覆盖所有子文档!

这样做的“安全”方法是什么?我尝试跟踪文件在我的文档中的位置,并检查它是否与保存位置相同或不同,但感觉很混乱,我担心 Apple 在幕后做一些事情会导致这个在某些情况下,直接的 URL 到 URL 比较会失败。

有没有标准的方法来做这样的事情?

0 投票
4 回答
2596 浏览

objective-c - 打印一个 NSDocument

我正在尝试打印文档。该文档是一个 NSImageRep 数组,或者是一个 NSPDFImageRep,它有多个页面。我无法弄清楚如何使用 NSPrintOperation 类来打印它。

NSPrintOperation 似乎需要一个 NSView 来打印。我是否需要手动将每个图像添加到视图中的计算位置,然后让它进行分页?这似乎不符合 Cocoa 的精神......我是否缺少一些技术?