Cocoa NSDocument: far funzionare il salvataggio automatico
-
03-07-2019 - |
Domanda
La documentazione afferma semplicemente che l'impostazione setAutosavingDelay
su qualsiasi cosa > 0 sul controller doc condiviso dovrebbe farlo, ma dopo aver chiamato
[[NSDocumentController sharedDocumentController] setAutosavingDelay:2.0];
nel mio controller, il salvataggio automatico non sembra funzionare: non vedo nulla in ~ / Library / Autosave Information /
, né lo è
[[[NSDocumentController sharedDocumentController] currentDocument] autosavedContentsFileURL]
inizializzato.
Si noti che nella mia app, il normale caricamento e salvataggio funzionano correttamente (keyedarchivers, classe basata su nscoding per i miei documenti, ecc.)
Soluzione
Hai sovrascritto -updateChangeCount: affatto? Sono abbastanza certo che l'implementazione di Apple è il codice che avvia il timer di salvataggio automatico. Inoltre, cosa succede se si sperimenta un timer più lungo?
Altri suggerimenti
Alcune persone trovano che la directory ~ / Libreria / Informazioni sul salvataggio automatico è di proprietà di root, quindi i file non possono essere scritti al suo interno. Vedi per esempio http://discussions.apple.com/thread.jspa?threadID=2252306
Non so come si presenta il bug ma ne sono stato morso - la directory è stata creata il 17/06/2010 alle 12:19 e presumo che le autorizzazioni fossero sbagliate da quel momento.