2010-08-19 7 views
0

J'ai essayé d'insérer NSDictionary dans un NSMutableDictionary. Il n'y a pas d'erreur mais ça ne marchera pas, ça reste vide.Insérer NSMutableDictionary avec NSDictionaries

Voici mon code:

NSMutableDictionary *einnahmen = [[NSMutableDictionary alloc] initWithCapacity:20]; 
NSArray *objects = [NSArray arrayWithObjects: 
      name, 
      [NSNumber numberWithInt: x], 
      [NSNumber numberWithInt: y], 
      [NSNumber numberWithInt: z], 
      nil]; 
NSArray *keys = [NSArray arrayWithObjects: 
        @"name", 
        @"startJahr", 
        @"zins", 
        @"entnahmefaehig", 
        nil]; 
NSDictionary *entry = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

[einnahmen setObject:entry forKey:@"name"]; //seems not to work 

Après [einnahmen setObject:entry Debugger montre ceci:

alt text

+0

Votre code référence les variables inexistantes 'einnahmen' et' eintrag' dans la ligne que vous dites ne fonctionne pas. Ceci est impossible à déboguer. En outre, "semble ne pas fonctionner" est extrêmement vague. Que se passe-t-il qui vous fait penser que cela ne fonctionne pas? Est-ce que la mauvaise chose est insérée? Avez-vous une erreur? Est-ce que le programme plante et redirige l'ordinateur de l'utilisateur vers un site porno? – Chuck

+0

Est-ce que 'einnahem' est supposé être 'entrée'? Même si c'est le cas, setObject va ajouter une nouvelle valeur au dictionnaire; Comment savez-vous que ça ne marche pas? Peut-être einnahem est nul? De plus, vous utilisez 'name' comme un objet au début et plus tard comme une clé. – aepryus

+0

Vous ne montrez toujours pas où 'einnahmen' est créé et consulté pour vérifier son contenu. C'est crucial. – Chuck

Répondre

2

J'ai résolu ce problème. Le code suivant était dans la mauvaise init-méthode:

NSMutableDictionary *einnahmen = 
       [[NSMutableDictionary alloc] initWithCapacity:20]; 

Le compilateur doit afficher une erreur.