這裏是我的問題的變化:填充新NSPersistentDocuments與種子對象/丟棄在靠近
我有一個基於文檔的應用程序,全部採用核心數據寫入。當創建新文檔時(在應用程序啓動時,或者使用File> New或Cmd + N),我需要使用初始種子對象填充此文檔。假設我的文檔是一個筆記本,所以我希望新文檔在創建時包含一個空的筆記。 因此,我無辜地插入我的對象(-[NSEntityDescription initWithEntity: insertIntoManagedObjectContext:
),它的工作原理。
我的問題在於,該文檔在打開後似乎是編輯。這是一個糟糕的用戶體驗。此外,在不添加任何更改的情況下關閉此文檔時,會提示用戶保存該文檔(超級煩惱!)。
所以我試圖到目前爲止解決這個問題,在我的撤消經理的行動爲丟棄設置(-[NSUndoManager setActionIsDiscardable:]
到YES
上[myDocument undoManager]
)。但它不會改變任何事情。
要進行調試,我將覆蓋-[NSDocument isDocumentEdited]
並始終返回NO
。它修復了部分問題。當然,我不想處理那些東西,我想它應該固定在撤銷管理器/持久性文檔/管理對象上下文一側。
任何人都面臨同樣的問題?
非常感謝大家!
我假設你正在使用NSPersistentDocument,如果是這樣,那麼新文件在內存中創建,所以用戶必須在關閉文檔之前保存到文件名或者所有東西都會丟失。還有一個特定的方法被調用,它專門用於設置初始數據。它只會被新文檔調用。我不記得它是什麼,但如果你需要它,我可以查找它。你想要解決什麼問題? –
謝謝:)我實際上找不到這種允許設置初始數據的神奇方法。這正是我想要做的:使用一些種子數據製作新文檔。我想我找到了使用'NSUndoManager'的方法。我會就此發表一個答案。如果你記得這個方法,請告訴我!謝謝。 Micha –