how and where should I set and load NSUserDefaults in a utility app?
Posted
by Greywolf210
on Stack Overflow
See other posts from Stack Overflow
or by Greywolf210
Published on 2010-04-17T07:05:58Z
Indexed on
2010/04/17
7:13 UTC
Read the original article
Hit count: 332
iphone
|nsuserdefaults
I have followed directions in several books and suggestions on some forums but I have issues with my app crashing when I try and set user preferences. I have the following lines on my "done" method in my flipscreenViewController:
- (IBAction)done
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:musicOnOff.on forKey:kMusicPreference];
[userDefaults setObject:trackSelection forKey:kTrackPreference];
[self.delegate flipsideViewControllerDidFinish:self];}
and the following 2 methods in my mainViewController:
-(void)initialDefaults{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey:kMusicPreference];
[userDefaults setObject:@"Infinity" forKey:kTrackPreference];}
-(void) setvaluesFromPreferences {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL musicSelection = [userDefaults boolForKey:kMusicPreference]; NSString *trackSelection = [userDefaults objectForKey:kTrackPreference];
if(musicSelection == YES) {
if([trackSelection isEqualToString:@"Infinity"])
song = [[BGMusic alloc]initWithPath:[[NSBundle mainBundle] pathForResource:@"Infinity" ofType:@"m4a"]];
else if([trackSelection isEqualToString:@"Energy"])
song = [[BGMusic alloc]initWithPath:[[NSBundle mainBundle] pathForResource:@"Energy" ofType:@"m4a"]];
else if([trackSelection isEqualToString: @"Enforcer"])
song = [[BGMusic alloc]initWithPath:[[NSBundle mainBundle] pathForResource:@"Enforcer" ofType:@"m4a"]];
else if([trackSelection isEqualToString: @"Continuum"])
song = [[BGMusic alloc]initWithPath:[[NSBundle mainBundle] pathForResource:@"Continuum" ofType:@"m4a"]];
else if([trackSelection isEqualToString: @"Pursuit"])
song = [[BGMusic alloc]initWithPath:[[NSBundle mainBundle] pathForResource:@"Pursuit" ofType:@"m4a"]];
[song setRepeat:YES]; counter = 0; } else [song close];}
Anyone willing to help out?
Thanks a bunch,
Chuck
© Stack Overflow or respective owner