2009-06-18 8 views
1

le code suivant qui est construit avec succès et me semble aussi bien mais ne fonctionne pas ... l'esprit que je suis nouveau pour le codage de valeur clé et votre aide sera grandement appréciée. .. en vue tableau délégué didSelectRowAtIndexPath: méthode ici la categoriesList est une table simple avec 5 entréesNSUnknownKeyException, code de conformité KVC ne fonctionne pas

NSUInteger row = [indexPath row]; 
NSString *rowString = [categoriesList objectAtIndex:row]; 
NSString *path = [[NSBundle mainBundle] pathForResource:@"DataBase" ofType:@"plist"]; 
NSDictionary *rootDict = [[NSDictionary alloc] initWithContentsOfFile:path]; 
NSArray *allRootKeys = [rootDict allKeys]; 
NSMutableArray *mutableArray = [[NSMutableArray alloc] init]; 
for (NSString *name in allRootKeys) { 
    NSInteger index = [allRootKeys indexOfObject:name]; 
    NSDictionary *newDict = [allRootKeys objectAtIndex:index]; 
    if ([newDict valueForKey:@"Class"] == rowString) 
     [mutableArray addObject:[allRootKeys objectAtIndex:index]]; 
} 
NSArray *childControllerArray = [[NSArray alloc] initWithArray:mutableArray]; 

maintenant je passe childControllerArray au Ivar de loadArray de mon prochain contrôleur qui est poussé lorsqu'une ligne est sélectionnée avec le tableau spécifique et il affiche le contenu de ce tableau .... lorsque je supprime le code ci-dessus et passer un tableau simple de il s'y oppose, cela fonctionne très bien .... S'IL VOUS PLAÎT AIDE

l'exception donnée est:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSCFString 0x543eb0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key Class.

Répondre

0

[rootDict AllKeys]; // ceci est un tableau de NSStrings, non pas de tableau de NSDictionarys

Ce code ne peut pas travailler

NSArray *allRootKeys = [rootDict allKeys]; 
NSDictionary *newDict = [allRootKeys objectAtIndex:index]; 
+0

Il peut et fonctionne, mais la valeur stockée dans newDict n'est pas un NSDictionary bien sûr: P – rpetrich

+0

Cela fonctionne. Mais cela n'a pas de sens – oxigen

+0

et ceci: [newDict valueForKey: @ "Class"] ne fonctionne pas)) – oxigen

Questions connexes