Я следил за указаниями в нескольких книгах и предложениях на некоторых форумах, но у меня проблемы с отключением моего приложения, когда я пытаюсь настроить пользовательские настройки. У меня есть следующие строки на моем «Done» метод в моем flipscreenViewController:Как и где следует устанавливать и загружать NSUserDefaults в приложении-утилите?
- (IBAction)done
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:musicOnOff.on forKey:kMusicPreference];
[userDefaults setObject:trackSelection forKey:kTrackPreference];
[self.delegate flipsideViewControllerDidFinish:self];
}
И следующие методы в моем 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];
}
Если кто-то там может пожалуйста помочь мне понять, что я делаю неправильно это было бы высоко оценено.
Chuck
+1 и я второй, что БОЛЬШОЕ ВРЕМЯ ... вам гораздо проще просто использовать отладчик, чем кому-либо еще, чтобы найти иглу в том стоге сена, который вы предоставили с помощью своего вопроса. Greywolf210 – Till
При использовании отладчика единственная проблема Я получаю ответ: «GDB: запрограммированный сигнал:« EXC_BAD_INSTRUCTION »« Я тоже искал эту ошибку в stackoverflow, и, похоже, это происходит во многих разных ситуациях, когда я не уверен, где находится соединение. Я noob с SDK, но я пытаюсь учиться, и я ценю все ваши данные. Где-то еще я должен смотреть? Что-то еще я должен попробовать? – Greywolf210
Отладчик, очевидно, останавливает выполнение - он должен отображать callstack для вас (обычно в верхней левой части XCode). Посмотрите на самый популярный метод, который вы написали, пока отладчик все еще активен. – Till