Core Data在启动时提供了doc

时间:2011-07-05 17:18:43

标签: cocoa

感谢您的帮助。

基于核心数据doc的app / sqlite格式。

我知道我可以做的一些事情:

首次运行应用程序会显示“无标题”文档。我可以添加数据,保存,然后在启动时使用其他代码运行以前保存的文档。没问题。一切正常。

我需要做的是提供一个先前创建的包含数据的sqlite文件,让应用程序在启动时立即运行它,绕过“无标题”文档的显示。

我设置了将位于我的应用程序包中的sqlite文件发送到〜/ Library / Application Support / Some App / dbase.sqlite。如何设置以便在启动时 - 此默认文档在启动时运行?

我这样做是为了方便用户:选择提供的数据库 - 或者在必要时创建存储在不同位置的自定义文档的选项。

再次感谢。

保罗。

1 个答案:

答案 0 :(得分:0)

NSApplication委托中,您应该实施‑applicationShouldOpenUntitledFile:委托方法并返回NO。这将阻止应用在发布时创建新的无标题文档。

然后,您应该实现应用程序加载完成后调用的‑applicationDidFinishLaunching:委托方法。在您的实现中,您应该调用‑makeDocumentWithContentsOfURL:ofType:error: NSDocumentController方法来打开要显示的文件。

您可以使用以下命令获取文档控制器的实例:

[NSDocumentController sharedDocumentController]

您可以使用以下方式获取文档的网址:

[[NSBundle mainBundle] pathForResource:@"YourDocName" ofType:@"YourDocFileExtension"];