Я прочитал и посмотрел много учебников по NSUserDefaults
в iPhone OS / iOS SDK, но я не могу заставить свою собственную реализацию работать.
Сейчас я создаюпростое приложение для подсчета, которое я хотел бы загрузить последним подсчитанным числом при загрузке приложения. Однако, NSUserDefaults
имеет в виду другую идею.Кто-нибудь знает, почему мой метод загрузки предпочтений продолжает возвращать (null)
в NSLog
?
Заранее спасибо!:)
CounterViewController.m (сокращенно)
- (void)viewDidLoad {
// yadda yadda yadda interface setup here...
if ([self retrieveCount] == 0) {
count = 0;
} else {
count = [self retrieveCount];
NSString *temp = [[NSString alloc] initWithFormat:@"%@", count];
[label setText:temp];
[temp release];
}
[super viewDidLoad];
}
int count = 123; //whatever it might be when the user exits the application, set every time the "+" or "-" is tapped
- (void)writeCount {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:count forKey:@"countKey"];
[prefs synchronize];
}
- (int)retrieveCount {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs synchronize];
int loaded = [prefs integerForKey:@"countKey"];
NSLog(@"%@", loaded);
return loaded;
}
CounterAppDelegate.m
- (void)applicationWillTerminate:(UIApplication *)application {
/*
Called when the application is about to terminate.
See also applicationDidEnterBackground:.
*/
[CountrViewController writeCount];
}
(Так как яЯ буду получать значение только с одного ключа, я решил не вводить данные в метод.)
Если это каким-либо образом сбивает с толку, пожалуйста, дайте мне знать!Я буду рад предоставить разъяснения.