2015-02-23 60 views
2

我有一個基於文檔的應用程序與撤消管理器。爲什麼我的NSDocument在保存後被標記爲髒?

我編輯我的文檔,添加到撤消管理器中的東西。這標誌着我的文件「髒」:screenshot

我保存,數據轉到文件,這是罰款。但該文件仍被標記爲「髒」。

我重寫:

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError 
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError 
- (IBAction)saveDocument:(id)sender 
- (IBAction)openDocument:(id)sender 
- (IBAction)newDocument:(id)sender 

autosavesInPlace回報NO。任何想法 ?

感謝

+0

的我會被檢查,看看我的任何可撤銷的方法正在保存文件後調用啓動。添加斷點並確認沒有被意外調用。 – insys 2015-02-23 15:05:33

+0

@insys按照你的建議,在保存後調用undomanager的任何一個都不會被調用 – Thomas 2015-02-23 15:55:08

+0

在 - (void)updateChangeCount:(NSDocumentChangeType)變化上嘗試一個斷點。 – 2015-02-25 08:00:20

回答

0

出於某種原因,我在我的文檔添加

-(IBAction) saveDocument:(id) sender { 
    ... 
} 

-(IBAction) openDocument:(id) sender { 
    ... 
} 

,我不應該這樣做。實施

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError 
- (BOOL)readFromData:(NSData *)data ofType:(NSString *)typeName error:(NSError **)outError 

是夠了,NSDocument負責一切

相關問題