Я согласен, что plist будет излишним. Просто используйте удобный механизм настроек и сохраняйте в случае перебоев.
Держите NSMutableDictionary
во всех контроллерах представления для хранения данных. Добавляйте данные как можно быстрее, например, когда пользователь отключается от текстового поля и т. Д.
Затем в applicationWillEnterBackground
вашего AppDelegate сделайте что-то вроде этого:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[NSDictionary dictionaryWithDictionary:myMutualDictionary]
forKey:@"UserInput"];
[defaults synchronize];