setObject:ForKey: crash?

Je reçois ce crash dans la console:

2011-08-27 23:26:45.041 App[1672:3117] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary setObject:forKey:]: attempt to insert nil key'
*** First throw call stack:
(0x3231c8c3 0x362ee1e5 0x3231c7bd 0x3231c7df 0x32289679 0x3052e865 0x3220fd55 0x3221b7a3 0x3345e4b7 0x3345e38c)
terminate called throwing an exception[Switching to process 10243 thread 0x2803]
[Switching to process 10243 thread 0x2803]

La seule ligne que je pense, le feu au moment où il se plante qui se rapporte à ce crash est cette ligne:

UIImage *photo = [self.selectedDictionary objectForKey:@"ProfileImage"];

N'a rien de regarder le problème ici? Quel pourrait être le problème?

Edit1:
C'est la plante lorsque je fais ceci pour appeler une méthode:
Code:

if(actionSheet.tag == 1) {
            [self showAchievements];
        }

C'est le showAchievements méthode:
Code:

- (void)showAchievements {
    GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
    if (achievements != nil)
    {
        achievements.achievementDelegate = self;
        [self presentModalViewController:achievements animated:YES];
    }
}

- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController
{
    [self dismissModalViewControllerAnimated:YES];
    [viewController release];
}

Peut ce crash-être parce que je n'ai pas correctement accroché tout en haut dans les tic? Je suis sûr qu'il se bloque dans la méthode et je ne sais pas pourquoi.

Quelqu'un a une idée?

Edit2: je suis d'ici, dans ma console, juste avant qu'il plante, il a une ligne disant Manqué de Méthode. Donc je recherche d'où cette NSLog est et c'est dans GameCenterManager.m, un fichier nécessaire pour le Jeu de Centre de je pense. Voici la méthode:

    - (void) callDelegate: (SEL) selector withArg: (id) arg error: (NSError*) err
{
    assert([NSThread isMainThread]);
    if([delegate respondsToSelector: selector])
    {
        if(arg != NULL)
        {
            [delegate performSelector: selector withObject: arg withObject: err];
        }
        else
        {
            [delegate performSelector: selector withObject: err];
        }
    }
    else
    {
        NSLog(@"Missed Method");
    }
}

Alors à partir de ce code ne vous voyez quoi de mal?

Merci!

InformationsquelleAutor SimplyKiwi | 2011-08-28