Мне нужно сохранить состояние приложения во время завершения приложения, чтобы при повторном запуске приложения приложение запускалось из состояния, в котором оно было закрыто в последний раз. Это своего рода восстановление приложения, но методы восстановления, вызванные неожиданным закрытием приложения. Но мне нужно восстанавливать приложение каждый раз, когда он неожиданно закрывает пользователя, закрывая его вручную. Мне просто нужно сохранить пользовательский интерфейс приложения, а не данные приложения. Любая идея была бы полезной для меня. БлагодаряКак сохранить состояние приложения в какао
ответ
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
//saveData
return NSTerminateNow;
}
Если вы хотите сохранить позицию NSWindow, вы можете использовать [window saveFrameUsingName:@"myWindow"];
и использовать
[window setFrameAutosaveName:@"myWindow"];
@ запуска приложения.
Вы можете сохраняться состояние в любой из доступных методов, таких как:
я. NSUserDefaults
Пример:
//saving
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:YES forKey:@"testBool"];
//retrieving
[defaults boolForKey:@"testBool"];
II. Сериализация объекта состояния.
III. Сохранение в виде файла Plist
Пример:
NSMutableDictionary *stateDictionary = [NSMutableDictionary dictionary];
//set state
...
//saving
[stateDictionary writeToFile:<filePath> atomically:YES];
//retrieve
stateDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:<filePath>]
внутривенно. Использование SQLite или Core-Data
(Скорее всего, не требуется, если состояние вашего приложения не находится в какой-то объект реляционной модели)
UPDATE:
Для сохранения состояния пользовательского интерфейса окна , Проверьте это link и под заголовком СОХРАНЕНИЕ ПОЛЬЗОВАТЕЛЯ ИНТЕРФЕЙСА.
Можете ли вы объяснить, как использовать их для хранения фрейма элементов управления, который добавляется в NSWindow. и, пожалуйста, не говорите, чтобы хранить фрейм каждого элемента управления, потому что у меня много элементов управления на окне и хранение каждого кадра управления - очень большая задача. – Surjeet
К сожалению, NSWindow не является непосредственно сериализуемым или записываемым в файл. У вас может быть либо подкласс NSWindow, чтобы переопределить методы кодирования (см. Ссылку для элемента списка ii), либо вы можете проверить ссылку, которую я предоставил в обновленном ответе. – Rakesh
- 1. Как сохранить состояние NSPopUpButton? - Какао
- 2. extjs: как сохранить состояние приложения
- 3. Когда сохранить состояние приложения
- 4. Сохранить состояние моего приложения
- 5. Как сохранить состояние приложения в телефоне Windows
- 6. как сохранить состояние приложения в андроид
- 7. Как сохранить состояние мобильного приложения в памяти?
- 8. Как сохранить состояние приложения в android?
- 9. Как сохранить состояние сервера приложения CGI?
- 10. Как сохранить состояние приложения, когда приложение завершается?
- 11. Как сохранить состояние приложения C# с PowerShell?
- 12. Как сохранить состояние моего приложения при минимизации?
- 13. Как сохранить текущее состояние приложения для Android?
- 14. Как сохранить состояние после перезапуска приложения?
- 15. Как легко сохранить состояние приложения после выхода
- 16. Как правильно сохранить состояние приложения iOS?
- 17. Как я могу сохранить состояние хром-приложения?
- 18. Как сохранить состояние приложения после обновления, AngularJS?
- 19. Состояние адаптера питания какао
- 20. Состояние проверки крышки в какао
- 21. Какао получить состояние листа
- 22. Кто-нибудь знает состояние какао #?
- 23. Как сохранить состояние анимации?
- 24. Как сохранить состояние UIScrollView?
- 25. Как сохранить состояние приложения iPhone перед завершением работы приложения?
- 26. Как сохранить состояние в AlertDialog?
- 27. AngularJS: сохранить состояние приложения с параметрами URL
- 28. Есть ли способ сохранить все состояние приложения?
- 29. CakePHP - Лучший способ сохранить состояние приложения?
- 30. Сохранить состояние сеанса для веб-приложения
Я знаю этот метод, он называется на время завершения приложения. Моя проблема заключается в том, как сохранить состояние приложения (позиция управления пользовательским интерфейсом). – Surjeet
Позиция позиции пользовательского интерфейса в NSUserDefaults –
Вы можете использовать saveFrameUsingName: для сохранения позиции NSWindow setFrameAutosaveName: –