2011-11-30 35 views
1

我很難實現這個Mac OS X 10.7的新功能。大部分情況下,我的應用程序不需要我做任何事情。按預期方式重新啓動文件。如果文件被刪除,我的應用程序將打開爲空,並且需要通過文件菜單打開一個新的空白文檔。NSWindowRestoration問題

那麼,究竟什麼是迄今爲止我所做的是創建一個新的窗口時,我打電話

[myWindow setRestorationClass:(Class <NSWindowRestoration>)self]; 

與自我是我NSDocument類。

因爲restoreWindowWithIdentifier:state:completionHandler:是一個類方法,我不能從它內部調用我的windowController創建方法[self makeWindowControllers],也不能調用[self initWithType:error]來創建一個新文檔,發送已被刪除。如何判斷髮送的文檔是否已從此方法中刪除?

我已經閱讀了所有關於蘋果網站和其他地方在這個問題上可以找到的所有信息,並且我無處可去。認識到我對此的核心理解是缺乏的,我對此表示歉意。我感謝任何幫助。謝謝。

+0

我與我的應用程序具有相同的行爲。 AFAIK用戶必須選擇文件 - >新建以在原始文件被刪除時打開新的主窗口,或者使用文件 - >打開打開另一個文件。對於我的應用程序,「開箱即用」...... – Roger

+0

我通過在IB中取消選中窗口的可恢復狀態來禁用恢復功能。但是,現在當程序重新啓動新的無標題文檔時,並不像以前發生的那樣打開。令人沮喪。 –

回答

1

據我理解這個問題,我認爲你必須啓用應用程序委託

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender; 
{ 
    return YES; 
} 

你嘗試了嗎?