Постоянство UIViewController - сохранить состояние в памяти и записать его на диск после завершения работы приложения

Я использую NSCoding для сохранения и восстановления моих контроллеров представления. Однако я сохраняю на диск стек навигации + контроллеры представления каждый раз, когда контроллер представления перемещается или выталкивается.

Это не энергоэффективно, и есть лучший способ.

Думать о NSUserDefaults, Он сохраняет изменения где-то в памяти (и, если он вызывается повторно как есть, просто перезаписывается), и когда synchronize вызывается метод, он записывает их на диск. Это действительно сделано, и это супер энергоэффективно.

Так я могу реализовать что-то вроде этого? При каждом вызове сохранять изменения где-то в памяти и когда synchronize/writeToDisk Метод вызывается для очистки кеша памяти и записи их на диск. Любые идеи будут с благодарностью!

Моя идея состоит в том, чтобы использовать NSCache, И в application:willResignActive или же application:willTerminate достать объект в кеш и записать его на диск.

Спасибо!

0 ответов

Другие вопросы по тегам