问题标签 [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.
core-data - 在 NSPersistentDocument 中创建新的 NSManagedObject 拒绝保存,即使撤消显示尽可能
我有一个 CoreData / NSPersistentDoc 应用程序。它工作正常。
我向 MOM 添加了一个新实体,并更新了版本。
现在,当我在 MOC 中创建该实体的新实例时,“保存”菜单项将保持禁用状态,直到/除非我创建应用程序中已有的旧实体的任何实例。
标题栏上的红点按钮正确变为黑色,表明文档已更改 - 但 OS X / NSDocument 拒绝承认这一点 - 无法进行保存。
有任何想法吗?
objective-c - 使用通知关闭特定的 NSDocument 实例
我有以下问题。我正在尝试在我构建的小型 IDE 中重现类似 XCode 的“新项目”工作流程。为此,当用户选择“新项目”时,我有一张在 doc 窗口控制器创建的窗口中运行模式的工作表。该工作表从笔尖开始,并以逐步的方式加载多个子视图(通过视图控制器),以将项目(类型->参数...等)设置为保存新项目的点。到现在为止还挺好。
我遇到的问题是当我尝试在保存之前取消该过程时。我不知道如何在不关闭其他可能打开的文档实例(又名“项目”)的情况下关闭模式表和文档实例。
我的应用程序有一个委托,一个通过 NSWindowController 和其他几个控制器和 nib 控制的 NSDocument 类。目前,我正在考虑在应用程序委托中实现基于通知的方法,但我无法掌握。
如果您能指出正确的方向,我将不胜感激。
温馨问候,
汤姆
objective-c - 从 NSDocument 类之外保存可可文档
在我的应用程序工作流程中,有时会从 nib 初始化新的模态 NSWindow。这个窗口应该有一个保存文档按钮。这是推荐的方法:
- 通过新的 NSSavePanel 到新实例化的模态窗口并在此处自定义整个保存流程?
- 使用从上述窗口中的按钮接收保存消息的主 NSDocument 类?如果是这样,如何保存文件?
- 还有其他情况吗?
cocoa - 基于 NSDocument 的应用程序来读/写 sqlite db
我正在为 Mac OS X 实现一个应用程序,以便轻松访问 SQLite 数据库。由于用户将能够同时处理更多文件,因此我选择了基于文档的应用程序。
大多数书籍和教程都解释了如何使用NSData
. 相反,我的应用程序应该为此目的依赖 SQLite 库。为了做到这一点,我应该覆盖哪些方法?
objective-c - 基于 NSDocument 的应用程序中的“全局”模型
我有一个NSDocument
基于应用程序,允许用户在登录后发送消息。
这些应该是用户的步骤:
- 用户启动应用程序并登录(凭据存储在用户模型中)
- 用户用户发送第一条消息
- 用户点击
CMD + N
并发送另一条消息(无需再次登录)
消息模型放置在MyDocument.xib
. 但是,用户模型应该放在全局位置(我会说 MainMenu.xib)。
我现在的问题是:
- 将模型放在 MainMenu.xib 中是否有意义,我如何从
MyDocument.m
- 是否有更好的方法可以正确地做到这一点而不必制作单例课程?
objective-c - 将数据传递给特定的打开的 NSDocument?
我在这方面遇到了很多麻烦。我需要一个NSViewController
和一个NSView
传递整数到一个特定的文档。我真的希望它将数据传递给由关键窗口表示的文档(我希望这是有道理的),但我正在做的方式是将数据传递给所有打开的文档。
我正在使用基于文档的应用程序,来自 Xcode 模板(选中“基于文档的应用程序”框的 Cocoa 应用程序。有没有办法做到这一点?
我没有发布我的代码,因为它真的太尴尬了。基本上,我有一个“getter”方法NSViewController
,但是我仍然没有想到一个很好的方法来传回数据。我最终得到了数百行代码,这些代码应该让文档用另一种“getter”方法拉回数据,但它们什么也没做。
有这方面的任何文件吗?
objective-c - 为 NSDocument 的 readFromData::: 获取正确的窗口
我已经在我的 Cocoa App 中成功实现了一个 NSDocument 类,它也能够正确保存数据。但是在打开文件时我遇到了问题。
这是我的基本设置:
NSDocument MyFile ==xib 文件=> MyFile.xib
NSObject FileClass 作为处理类
FileClass 是一个压缩/解压缩文件的类,并连接到 MyFile.xib 中窗口的文本字段。保存是通过默认的 NSNotificationCenter 完成的。数据需要在此类中处理,因为它不包含原始 NSString。
假设我有三个需要打开的文档 我有三个 NSDocument 实例,它们现在通过 NSNotificationsCenter 发送它们的数据。因为我有三个 NSDocument,所以我有三个窗口和三个 FileClass 实例。现在,如果正确的 FileClass 接收到数据只是运气,因为我无法过滤接收到的数据是否针对此窗口提出。一个随机的 FileClass 现在处理该文件并设置其关联的文本视图的文本。因此,窗口 1 可以显示被认为显示在窗口 3 中的数据。
数据流:
NSDocument => readFromData => NSNotificationCenter => 随机 FileClass => 关联的 TextView。
缩小范围:如何将数据路由到其正确的窗口以及如何/在何处将 FileClass 包含在此构造中?
提前致谢!
保罗
objective-c - 我可以使用 NSDocument 写入资源分支吗?
我想将一些附加信息与文档一起存储,但我不能使用捆绑包或包,也不能将其存储在文档本身中。
该应用程序是一个文本编辑器,我希望它将代码折叠和书签位置与文档一起存储,但显然这不能直接嵌入到代码中,我不想用难看的注释来更改代码。
我可以使用 NSDocument 将信息存储在文档的资源分支中吗?如果是这样,我该怎么做?我应该直接写信<filename>/..namedfork/rsrc
还是有可用的 API?
objective-c - 确定在基于 NSDocument 的应用程序的保存面板中按下了哪个按钮
在基于 NSDocument 的应用程序中关闭保存对话框时,我应该如何确定按下哪个按钮(保存、取消)?当从菜单中选择保存时,保存面板是 NSDocument 提供的默认面板。
我希望有机会在调用 (BOOL)writeToURL:ofType:error:之前更改一些变量。
谢谢...
macos - 逆向工程 NSDocument 文件
我有来自 OS X 程序的不受支持的文件格式。它使用NSDocument
,不幸的是,供应商不会帮助格式 - 或允许导出。
那么逆向工程这种格式的第一步是什么NSDocument
?该程序仍然使用 os x 10.3 中已弃用的initWithContentsOfFile
方法。我可以访问程序、我的数据和大量样本数据。
我已经对程序的反汇编做了一些初步工作,并修改了格式。但并没有太大的进展。反汇编并没有发现任何东西,但是用十六进制编辑器查看文件给了我一些数据结构的轮廓和最初的固定头。