2015-02-23 2 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

+0

@insys после вашего предложения, ни один из моих вызовов неподанному вызван после сохранения – Thomas

+0

Попробуйте установить точку останова на - (void) updateChangeCount: (NSDocumentChangeType) изменить; –

ответ

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 заботится обо всем

Смежные вопросы