问题标签 [document-based]
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 - 等待 [NSAlert beginSheetModalForWindow:...];
当我显示这样的 NSAlert 时,我会立即得到响应:
问题是这是应用程序模式,我的应用程序是基于文档的。我使用工作表在当前文档的窗口中显示警报,如下所示:
唯一的问题是它会beginSheetModalForWindow:
立即返回,因此我无法可靠地向用户提问并等待回复。如果我可以将任务分成两个区域,这没什么大不了的,但我不能。
我有一个循环处理大约 40 个不同的对象(在树中)。如果一个对象失败,我希望显示警报并询问用户是继续还是中止(在当前分支继续处理),但由于我的应用程序是基于文档的,Apple Human Interface Guidelines 要求在警报出现时使用工作表特定于文档。
如何显示警报表并等待回复?
cocoa - 您将 NSDocument 子类的清理代码放在哪里?
我有一个基于文档的应用程序,我已经分类NSDocument
并提供了所需的方法,但是我的文档需要进行一些广泛的清理(需要运行外部任务等)。把这个放在哪里最好?我尝试了几种不同的方法,例如:
close
close:
canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo
dealloc
如果我把它放进去dealloc
,有时它会被调用,而有时它不会(按 Command+Q 似乎绕过了我的文档的释放),但是必须在没有失败的情况下调用此代码(除非程序意外终止)。
cocoa - 如何在 Cocoa 中创建仅导入文档类型?
我的应用程序导入但未保存的文件类型。我已向文档类型添加了一个条目并将其设置为只读,但这不会产生我正在寻找的导入行为。相反,我的应用程序只会打开文件,当我保存原始文件时,会以我自己的文件格式覆盖。
如何设置我的文档或文档类型以使用原始文档中的数据创建新文档,而不是打开原始文档?
cocoa - Cocoa 单个窗口中的多个文档
我想通过选项卡式界面编写一个可能在单个窗口中有多个文档的应用程序。我应该避免使用 NSDocument 架构(基于 Cocoa 文档的应用程序模板)吗?据我所知,它只支持每个文档一个或多个窗口,反之亦然。
我一直在努力解决这个问题,并且已经在 NSDocument 架构上构建了我的大部分应用程序,但我无法找到将多个文档与单个窗口相关联的好方法。
编辑:除了基本文档窗口之外,我还想拥有项目文档窗口。在这种复杂程度下,仍然值得破解 NSDocument 架构吗?Apple 是否使用 NSDocument 架构编写了 Xcode(以这种方式工作)?
objective-c - 一个窗口中的基于文档的应用程序
我需要开发一个简单的基于文档的应用程序,但只使用一个窗口,文档应该在由选项卡分隔的视图中打开。我怎样才能实现它?
cocoa - 具有多种文档类型的 Cocoa 基于文档的应用程序
我想在 Cocoa 中构建一个基于文档的应用程序,以便它可以创建和处理不同类型的文档。Word、Excel、Powerpoint 都在一个应用程序中,只是简单得多。但是每个窗口都会根据文档的类型而有所不同。
对于存储,我将使用 CoreData。我想添加一个指定文档类型的字段,因为它们都应该具有相同的文件结尾。
因此,如果不创建几个独立的应用程序,最好的方法是什么?如何在 Interface Builder 中创建它?我该如何编码?
我不需要详细的源代码或任何东西,只需大致了解如何执行此操作,其余的我会弄清楚。
提前致谢!
mysql - 像 Wufoo 这样的应用程序使用关系数据库还是基于文档的数据库更好?
我正在开发一个类似于 Wufoo 的应用程序,它允许我们的用户创建自己的数据库并使用自动生成的表单和视图收集/呈现记录。
由于每个用户都在创建不同的模式(一个用户可能有一个他们的棒球卡集合的数据库,另一个可能有一个他们的食谱的数据库),我们当前的方法是使用 MySQL 为每个用户创建单独的数据库,并拥有自己的表。换句话说,我们的 MySQL 服务器包含的数据库如下所示:
main-web-app-db(我们的 Web 应用程序包含用户帐户信息、计费等表)
user_1_db (baseball_cards_table)
user_2_db (recipes_table)
....
等等。如果用户想要建立一个新的数据库来跟踪他们的 DVD 收藏,我们将使用“create table ...”执行“create database ...”。如果他们在其中输入一些数据,然后决定要更改列,我们将执行“更改表 ....”。
现在,我在构建它的过程中走得越远,MySQL 似乎越不适合处理这个问题。
1)我首先担心的是每次请求都切换数据库,首先是我们的主应用程序的数据库进行身份验证等,然后是用户的个人数据库,这将是低效的。
2)我担心的第二个问题是单个 MySQL 服务器可以托管的数据库数量将受到限制。暂时假设这个应用程序有 500,000 个用户数据库,MySQL 是否设计为以这种方式运行?如果是一百万或更多呢?
3)最后,这种方法是否会成为支持和扩展的噩梦?我从未听说过以这种方式使用 MySQL,所以我确实担心这会如何影响复制和其他扩展方法等事情。
对我来说,似乎 MySQL 不是为了以这种方式使用而构建的,但我知道什么。我一直在将 MongoDB、CouchDB 和 Redis 等基于文档的数据库作为替代方案,因为对于这个特定问题,这种无模式的方法似乎很有意义。
任何人都可以提供一些建议吗?
cocoa - 基于文档的应用程序,预初始化窗口(输入序列号、购买、试用)
我需要在加载 NSDocument 之前创建几个窗口,或者创建一个阻止 NSDocument 窗口和顶部菜单的窗口。
我尝试了几种解决方案 - 但它们不能正常工作。
模态窗口,一个接一个。Async URLConnection 有一些问题,我的 NSDocument 内容也有一些其他问题。
我创建了没有菜单的自定义 MainMenu.xib,它打开了我的预初始化窗口。在这里我发现了一些其他问题,当打开一个文件(与我的应用程序关联)时 - 文档窗口初始化。在这里,我尝试继承 NSDocumentController,但我发现无法暂停“打开文档”。(无论如何我都希望打开文档,但只有在关闭预初始化窗口之后)。
那么这样做的正确方法是什么?
macos - 当基于 Mac OS X 文档的应用程序启动时,如何防止制作新的无标题文档?
我正在制作一个新的 Mac OS X 应用程序。(不是 iPhone 应用程序)这是基于文档的应用程序。
它在启动时会自动显示一个新的“无标题”文档实例。我怎样才能阻止这种行为?我希望我的应用程序在启动时不显示任何窗口。
cocoa - Cocoa 基于文档的应用程序:观察者并不总是收到通知
我希望有人可以帮助解决我的通知问题。我有一个通知,看起来设置正确,但未按预期发送。我正在开发一个基于文档的应用程序。委托/文档类在从保存的文件中读取时发布通知:
日志记录告诉我,每当我打开保存的文档时都会到达这一行。
在 DrawView 类中,我有 windowOpen 通知和 bsplinePoly 文件打开通知的观察者:
行为很奇怪。当我保存并关闭主窗口并重新打开它时,我收到“窗口已打开”消息,但没有收到“已保存的样条调用”消息。如果我让主窗口保持打开状态并打开之前保存的会话,我会收到“窗口已打开”消息和“已调用保存的样条线”消息。
我搜索了在线讨论和 Apple DevCenter 文档,但我没有看到这个问题。