2011-07-05 47 views
1

感謝您的幫助。在啓動時提供的核心數據文檔

核心數據doc基於應用/ sqlite格式。

我知道我可以做幾件事情:

運行首次應用程序顯示一個「未命名」的文件。我可以添加數據,保存並隨後在啓動時使用其他代碼運行先前保存的文檔。這沒有問題。這一切都工作。

我需要做的是提供一個以前創建的包含數據的sqlite文件,讓應用程序在啓動時立即運行它,繞過「無標題」文檔的顯示。

我設置發送位於我的應用程序包中的sqlite文件到〜/ Library/Application Support/Some App/dbase.sqlite。我如何進行設置以便在啓動時啓動 - 此默認文檔在啓動時運行?

我這樣做是爲了方便用戶:選擇提供的數據庫 - 或者選擇創建存儲在不同位置的自定義文檔(如有必要)。

再次感謝。

Paul。

回答

0

在您的NSApplication委託中,您應該實施‑applicationShouldOpenUntitledFile:委託方法並返回NO。這將阻止應用程序在啓動時創建新的未命名文檔。

然後,您應該實施‑applicationDidFinishLaunching:委託方法,該方法在應用程序加載完成後調用。在你的實現中,你應該調用‑makeDocumentWithContentsOfURL:ofType:error:方法NSDocumentController打開你想要顯示的文件。

您可以獲取文檔控制器的實例:

[NSDocumentController sharedDocumentController] 

可以使用得到的網址爲您的文檔:

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

嘿,又羅伯 - 謝謝。我有一切排除了這個:-makeDocumentWithContentsOfURL:ofType:錯誤:...我正在處理它。 – Paul