Для этого вы можете использовать пользовательские значения по умолчанию или список свойств .
Пример пользовательских настроек по умолчанию. У вас есть класс контроллера, который имеет доступ к индексу и загружает его при запуске и записывает его в plist при каждом обновлении:
Если у вас есть какой-то класс контроллера, вы бы поместили этот код в + (void)initialize
, он инициализирует переменную, если ее нет в plist:
+ (void)initialize
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults =
[NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5]
forKey:@"MyFunnyIndex"];
[defaults registerDefaults:appDefaults];
}
В вашем -(void)awakeFromNib
(я полагаю, вы используете какой-то класс контроллера) загрузите ваше последнее сохраненное значение:
-(void)awakeFromNib
{
int index =
[[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"];
[somethingThatNeedsIndex setIndex:index];
// ...
}
Где-то, где индекс обновляется (или где вы хотите записать его в plist), давайте назовем его - (void)updateInterface
:
- (void)updateInterface
{
[[NSUserDefaults standardUserDefaults]
setObject:[NSNumber numberWithInteger:index]
forKey:@"MyFunnyIndex"];
[[NSUserDefaults standardUserDefaults] synchronize];
}