0
我的基於文檔的應用程序在cmd + w時立即終止文檔,並且不會保存。我如何對此做出反應,並提示保存文檔或自動保存文檔?在基於文檔的應用程序中,當用戶意外按下cmd + w而不是cmd + s時,如何防止數據丟失?
我的基於文檔的應用程序在cmd + w時立即終止文檔,並且不會保存。我如何對此做出反應,並提示保存文檔或自動保存文檔?在基於文檔的應用程序中,當用戶意外按下cmd + w而不是cmd + s時,如何防止數據丟失?
使用NSDocument
方法updateChangeCount(_:)
將您的文檔標記爲已編輯,而Cocoa將負責其餘部分!
此外,如果您使用NSUndoManager
進行所有更改,它會爲您更新更改計數!
大多數情況下,您應該在現有的Cocoa功能中尋找這些「掛鉤」,以便您的應用的行爲與其他OS X應用完全相同,並且在新操作系統版本中繼承新功能被釋放。
嘗試[self updateChangeCount:NSChangeUndone];在readFromData ...中沒有效果。 Doc仍然立即關閉,所有數據丟失。 – iamjustaprogrammer
這是因爲'NSChangeUndone'用於告訴文檔你已經取消了一個更改 - 改用'NSChangeDone'。 – andyvn22