J'ai suivi les instructions dans plusieurs livres et suggestions sur certains forums, mais j'ai des problèmes avec mon application qui plante quand j'essaie de définir les préférences de l'utilisateur. J'ai les lignes suivantes sur ma méthode « fait » dans mon flipscreenViewController:comment et où dois-je définir et charger NSUserDefaults dans une application utilitaire?
- (IBAction)done
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:musicOnOff.on forKey:kMusicPreference];
[userDefaults setObject:trackSelection forKey:kTrackPreference];
[self.delegate flipsideViewControllerDidFinish:self];
}
Et les méthodes suivantes dans mon 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];
}
Si quelqu'un là-bas pourrait s'il vous plaît me aider à voir ce que je fais mal, il serait très apprécié.
Chuck
+1 et I secondes que BIG TIME ... il est BEAUCOUP plus facile pour vous d'utiliser simplement le débogueur que pour quelqu'un d'autre pour trouver l'aiguille dans cette meule que vous avez fourni avec votre question Greywolf210 – Till
Lors de l'utilisation du débogueur le seul problème Je reçois retourné est "GDB: Signal reçu par programme: 'EXC_BAD_INSTRUCTION'" J'ai également recherché cette erreur sur stackoverflow et il semble arriver dans tant de situations différentes que je ne suis pas sûr où la connexion se trouve. Je suis un noob avec le SDK mais j'essaie d'apprendre et j'apprécie toute votre contribution. Y a-t-il un autre endroit où je devrais regarder? Quelque chose d'autre que je devrais essayer? – Greywolf210
Le débogueur est évidemment l'arrêt de l'exécution - il devrait afficher la callstack pour vous (généralement sur le côté supérieur gauche de XCode). Regardez dans la méthode la plus affichée que vous avez écrite pendant que le débogueur est encore actif. – Till