Cocoa NSDocument: заставить работать автосохранение

В документации просто указано, что установка setAutosavingDelay на что-либо > 0 на общем контроллере документов должна делать это, но после вызова

[[NSDocumentController sharedDocumentController] setAutosavingDelay:2.0];

в моем контроллере автосохранение, кажется, не работает: я ничего не вижу в ~/Library/Autosave Information/ и не

[[[NSDocumentController sharedDocumentController] currentDocument] autosavedContentsFileURL]

инициализирован.

Обратите внимание, что в моем приложении обычная загрузка и сохранение работают нормально (keyedarchivers, класс на основе nscoding для моих документов и т. д.).


person taco    schedule 02.01.2009    source источник
comment
Просто в качестве проверки работоспособности вы внесли изменения в документ, чтобы было что-то для автоматического сохранения? (и посмотрите, что сообщает -hasUnautosavedChanges)   -  person Nathan Kinsinger    schedule 03.01.2009
comment
а ваш NSDocument возвращает да для autosavesInPlace?   -  person Stephan    schedule 07.12.2012


Ответы (2)


Вы переопределили -updateChangeCount: вообще? Я почти уверен, что реализация Apple — это код, который запускает таймер автосохранения. Кроме того, что, если вы поэкспериментируете с более длинным таймером?

person Mike Abdullah    schedule 03.01.2009
comment
Спасибо. у меня нет. Я попробую оба и вернусь. - person taco; 14.01.2009

Некоторые люди считают, что каталог ~/Library/Autosave Information принадлежит пользователю root, и поэтому в него нельзя записывать файлы. См., например, http://discussions.apple.com/thread.jspa?threadID=2252306

Я не знаю, как возникает ошибка, но я был укушен ею — каталог был создан 2010-06-17 12:19, и я предполагаю, что с этого момента были неправильные разрешения.

person Graham Perrin    schedule 01.08.2010