2009-06-18 10 views
1

次のコードは正常に構築されていますが、問題なく動作しません。私はキーバリューコーディングが初めてで、あなたの助けが大変高く評価されます。 ..テーブルビューデリゲートdidSelectRowAtIndexPathで :ここ方法 categoriesList 5つのエントリNSUnknownKeyException、KVC準拠コードが機能しない

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]; 

持つ単純なテーブルであり、今は任意の行を用いて選択されたときに押されます次回コントローラのloadArrayのIVARにchildControllerArrayを渡します配列の内容を表示します。 上記のコードを削除して、単純な配列を渡すとそれへのオブジェクト、それだけで正常に動作します.... 与え

例外はある助けてください:

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

答えて

0

[rootDict allKeys]。 P://これは、このコードは、それができると仕事を行いますが、newDictに格納された値は、当然のNSDictionaryのではない

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

を動作することはできませんNSStringsの配列、NOT NSDictionarys

の配列であります – rpetrich

+0

それは動作します。しかし、それは意味がありません – oxigen

+0

とこれ:[newDict valueForKey:@ "クラス"]は動作しません)) – oxigen

関連する問題