问题标签 [nsdocumentcontroller]
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.
cocoa - Cocoa NSDocument:让自动保存工作
文档只是说明setAutosavingDelay
在共享文档控制器上设置为任何 > 0 都应该这样做,但是在调用之后
在我的控制器中,自动保存似乎不起作用:我既没有看到任何东西~/Library/Autosave Information/
,也没有看到
初始化。
请注意,在我的应用程序中,正常加载和保存工作正常(keyedarchivers、我的文档的基于 nscoding 的类等)。
cocoa - 基于文档的应用程序不会恢复具有非文件 URL 的文档
我有一个基于 NSDocument 和 NSDocumentController 子类的应用程序。我的 NSDocument 与文件 URL 和具有使用 Web 服务的自定义方案的 URL 一起使用。
我使用自定义代码处理大部分加载和保存,包括-saveToURL:ofType:forSaveOperation:completionHandler:
. +autosavesInPlace
返回YES
。
我遇到的问题:具有自定义 URL 方案的文档在启动时未恢复。具有文件 URL 方案的文档是 - 保存到文件的常规文档和自动保存的无标题文档。
离开打开的基于服务器的文档并退出应用程序后,重新启动时似乎没有调用任何 NSDocument 方法。特别是,四个初始化器都没有被调用:
- -在里面
- --initWithContentsOfURL:ofType:错误:
- –initForURL:withContentsOfURL:ofType:error:
- --initWithType:错误:
NSDocumentController 方法-reopenDocumentForURL:withContentsOfURL:display:completionHandler:
也没有被调用。
如何以及何时对文档的可恢复状态进行编码?它们是如何以及何时解码的?
objective-c - 如何将 NSDocumentController 子类化为一次只允许一个文档
我正在尝试创建一个基于核心数据的基于文档的应用程序,但限制是一次只能查看一个文档(它是一个音频应用程序,对于很多文档一次发出噪音是没有意义的) .
我的计划是以一种不需要将其链接到任何菜单操作的方式对 NSDocumentController 进行子类化。这一直在合理地进行,但我遇到了一个问题,这让我对我的方法有点怀疑。
以下代码在大多数情况下都有效,除非用户执行以下操作: - 尝试打开现有“脏”文档的文档 - 在保存/不保存/取消警报上单击取消(这工作正常) - 然后尝试再次打开文档。由于某种原因,现在 openDocumentWithContentsOfURL 方法再也不会被调用,即使打开的对话框出现了。
谁能帮我弄清楚为什么?或者也许给我举个例子来说明如何正确地做到这一点?感觉就像一些人必须实现的东西,但我找不到 10.7+ 的例子。
macos - 获取支持的文档类型
您如何以编程方式获取 Cocoa 应用程序中所有支持的文档类型的列表?
我希望在其中找到它,NSDocumentController
但最接近的似乎是子类documentClassNames
列表NSDocument
。
xcode - 在启动时通过文件拖放调试 NSDocument 应用程序?
假设我有一个 NSDocument 应用程序,它支持将文件拖放到其图标上以启动应用程序并打开该文件。我的 NSApplicationDelegate 已经实现
这是通过文件拖放调用的。我希望能够在内部中断并开始调试,application:openFile:
但必须从 Xcode 启动应用程序才能使用拖放启动。
什么是这样做的好方法?
ios - 保存前在 iOS 中预览 PDF 文档
我正在构建一个将生成 PDF 的应用程序。我可以很好地生成 PDF,但它是构建和保存 PDF 的一键式操作。我想做的是将其更改为显示 PDF 的预览,然后提供编辑内容或将其保存到 Documents 文件夹的选项。我该怎么做呢?这是我所拥有的保存它的东西。
macos - 如何防止基于文档的可可应用程序打开任何文档?
最近,每当我启动我的应用程序时,保存的文档都会导致崩溃。有没有办法阻止基于文档的应用程序打开任何文档,包括新的空文档或最后一个活动文档?我不想通过使用 OSX 功能(在我的应用程序范围之外)来做到这一点,而是在我的程序中。
我认为这应该通过NSDocumentController
某种方式来完成,但我无法弄清楚并且没有运气在其他地方找到答案。
那么,如何告诉 OSX 应用程序(通过NSDocumentController
)在启动时不要打开任何文档?
macos - 如何使用 NSDocumentController 创建 NSDocument 的新实例?
我试过了
但它不工作。我有错误
objective-c - 我什么时候应该为 OSX 应用子类化 NSDocumentController?
我正在构建一个document-based
具有核心数据支持的应用程序(所以我的文档是NSPersistentDocument
),我想知道我是否需要子类NSDocumentController
以及NSWindowController
(对于我的应用程序中的每个窗口,因为我有多个)。
我查看了苹果文档,但没有找到一个很好的解释,NSDocumentController
只是它说“你不太可能需要对它进行子类化”。
有人可以给我一些关于这一切如何运作的提示和场景吗?
任何形式的帮助都非常感谢!
nsdocument - 基于文档的应用程序中的 IBOutlet
我已经创建了一个基于应用程序文档,但是我在处理 IBOutlet 时遇到了问题,因为当我在第一个窗口的文档中选择了某个控制器时,有时另一个窗口文档中的另一个相同的控制器也被选中了......也许我做错了强/弱/读写或我不太确定的东西,所以我决定强制我的应用程序只有一个窗口文档。现在我的问题。我有一个arrayController,当我启动我的应用程序并打开保存的文件时,它会关闭默认创建的“空白文档”并显示加载数据的新窗口文档。问题是在 windowControllerDidLoadNib 内部调用的第二个窗口的 arrayController 是正确的指针(由 makeWindowControllers 创建)但是当我在代码中使用它时,它有另一个指针,它是已关闭的空白文档的旧 arrayController!为什么?关闭方法会释放一切吗?(我使用ARC)。对不起,如果我的话有混淆,我是新手。谢谢你。这是我的代码: