问题标签 [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 投票
1 回答
168 浏览

objective-c - 帮助诊断 Cocoa 框架中的崩溃 - 可能的内存泄漏?

我目前正在将Fragaria框架从仅 GC 环境迁移到支持的 GC。工作完成后(或者我认为必须完成的工作),我能够运行框架附带的示例而没有任何问题,并且 Instruments 没有显示任何重大内存泄漏。

我在我的非 GC 应用程序中包含了非 GC Fragaria,一旦我将光标放在它上面,它就会崩溃。老实说,使用模式与示例不同,因为我将其嵌入到 NSViewController 的实例而不是 NSDocument 中。

你能给我一些关于如何调试它的提示吗?我现在有点迷失在哪里继续。

0 投票
1 回答
186 浏览

iphone - 应用程序发货时如何在我的应用程序的 Documents 文件夹中放置属性列表?

我的应用程序中有几个表格视图,每个表格视图的数据源是一个属性列表。目前,我将属性列表保存在应用程序包中。但是,那只是因为我在 XCode 中创建了它们,它们会自动保存在文档文件夹中。这很好,因为当应用程序发布时,这就是他们需要的地方。

但是,我想在我的应用程序发布时将属性列表的副本放在我的应用程序的文档文件夹中。我怎样才能做到这一点?我的意思是我可以对 XCode 进行编程以保存我手动创建的 pLists 以保存在我的应用程序的文档文件夹中吗?或者它是如何工作的?基本上总结一下,我想在应用程序包和文档文件夹中分别放置一个属性列表的副本

我感谢任何人提供的任何帮助。

谢谢

0 投票
1 回答
1655 浏览

cocoa - 阻止打开新的 NSDocument 并显示警告消息

我有一个基于 NSDocument 的应用程序,我想在其中限制同时打开的文档数量(对于 Lite 版本)。我只想拥有n 个文档,如果用户尝试打开的文件超过n 个,则显示一条消息,其中包含指向完整应用程序下载的链接。

我已经设法使用 NSDocumentController 计算文档的数量,并且在 readFromFileWrapper 中,我可以返回 FALSE。这会阻止新文档打开,但会显示标准错误消息。我不知道如何避免这种情况。我想从笔尖打开一个新窗口。

从 readFromFileWrapper 返回 FALSE 时,有什么方法可以防止 NSDocument 显示标准错误消息?或者在调用 readFromFileWrapper 之前有没有其他方法可以防止文档打开?

0 投票
1 回答
646 浏览

cocoa - NSDocument 子类“关闭”方法调用了两次

我有一个基于文档的 Cocoa 应用程序,它的子类NSDocumentMyDocument. 每个都MyDocument管理一个单独的后台进程(作为NSTask)。我想确保它在相应的关闭或整个应用程序退出时NSTask终止。MyDocument

对于后者,我让文档遵守NSApplicationWillTerminateNotification. 对于前者,我覆盖了close方法:

(顺便说一句,我不能在dealloc方法中放入清理代码,因为项目是 GC 的。)

问题是这样的:如果我打开 a MyDocument,进行未保存的更改,然后按 cmd-Q,该close方法会被调用两次。从调试器来看,调用链是: [MyDocument close]调用[NSDocument close],调用[NSWindowController _windowDidClose][MyDocument close]再调用。(在那次调用之后,应用程序退出)。

这是预期的行为吗?如果是这样,是否有更好的方法来释放特定于文档的资源?还是我应该确保close安全运行多次?

0 投票
2 回答
2172 浏览

objective-c - 目标 C 中的文档目录

在 Xcode 中,Resources 文件夹链接到应用程序的 NSDocumentsFolder?或者还有什么?

有没有办法在不编写代码的情况下查看 NSDocumentFolder 中的文件?

0 投票
1 回答
620 浏览

cocoa - 将 NSDocument 设置为 NSMenu 的代表

我有一个菜单项,其状态应取决于NSDocument打开的状态。据我了解,要使其状态动态变化,我应该使用NSMenu委托方法menuNeedsUpdate:

似乎我想让菜单的代表成为MainMenu.xib. 但是,Interface Builder 不允许我将其设置为主菜单的委托。我怎样才能让一个能够访问当前活动文档的代表?

0 投票
1 回答
2175 浏览

objective-c - NSDocument 来保存一个完整的文件夹?

我很抱歉是否已经涵盖了这个论点,但是经过一些研究,我发现没有任何确切的内容。

我需要制作一个基于文档的应用程序,其中文档实际上不是单个文件,而是目录中的结构化文件集合。窗口将显示文件夹中包含的具有特定文件名的 pdf,并使用文件夹中其他文件的信息来丰富它。我不能使用 pdf 注释来实现这一点,我真的需要将文件与 pdf 分开。

实现这一目标的最佳方法是什么?我发现的所有示例代码都使用一个文件..

0 投票
1 回答
251 浏览

cocoa - 可可和可执行文件

嘿,我正在为 Mac OS X 编写一个 Cocoa 应用程序,我希望它能够打开可执行文件。也就是说,具有“执行”权限的文件。这些文件通常没有文件扩展名,所以我不知道如何在 plist 文件中指定这个。

如何使“打开”面板允许用户选择 UNIX 可执行文件?提前致谢。


请注意,我不想执行它们。

0 投票
1 回答
416 浏览

cocoa - 对子类 NSWindowController 的引用返回其文档 - 这是正确的吗?

我是基于文档的应用程序的新手,因此我可能错过了一些基本的东西。我编写了一个基于文档的应用程序,它使用子类 NSWindowController 作为接口,使用子类 NSDocument 作为模型。根据文档,我在 makeWindowControllers 中初始化了 windowController 并加载了它的 xib。在界面生成器中,xib 将我的 windowController 子类设置为文件的所有者。在窗口中的视图中,我有一个 NSOutlineView 的子类,并且 NSOutlineView 数据源和委托也在 nib 中引用并通过 IBOutlets 连接到 windowController。

根据文档,我应该能够通过 [windowController 文档] 从 OutlineView 数据源访问文档。但是,从 OutlineView 数据源引用 windowController(通过 IBOutlet)给了我文档!

这导致 OutlineView 数据源(它是 windowController 的 xib 中 NSObject 的子类)中的一些相当丑陋的代码来获取文档,例如:

头文件中的 IBOutlet 将 myWindowController 引用为:

简而言之 - 为什么在这种情况下连接到 windowController 的 IBOutlet 会直接让我获取文档?上面的代码有效,但似乎不应该。

编辑:澄清

0 投票
2 回答
792 浏览

cocoa - 具有自动保存功能的 CoreData 第一次保存,然后在所有后续自动保存中以“NoSuchFileError”崩溃

使用 CoreData 的基于 NSDocument 的应用程序。非常简单 - 两个实体,具有一对多的关系。这个应用程序与保存、加载等完美配合。

然后我像这样打开自动保存:

......它立刻就发生了可怕的错误。

第一次自动保存工作,100% 正确。即它将文件保存在用户的私有目录中,如果您退出应用程序并重新启动,则自动保存的文档会自动重新打开。凉爽的!

但是,一旦您对数据进行第二次更改,您就会在自动保存中崩溃,如下所示:

...这对我来说毫无意义。为什么 auto*SAVE* 会关心文件是否存在?为什么它第一次工作,然后又失败了?

注意:我已经检查过了,Apple 尝试在第二次自动保存调用中使用相同的文件名 - 如果它第一次工作,为什么它在 0.5 秒后失败???