0

このように NSMutableDictionary にオブジェクトを設定しています

if ([detail isEqualToString:[check objectAtIndex:1]]) {//check is NSArray,getdict is NSMutableDictionary,keyverify is NSMutableArray


        if ([getdict objectForKey:detail]==nil) {

            [getdict setObject:[check objectAtIndex:2] forKey:detail];
            [keyverify addObject:[check objectAtIndex:2]];
        }

        else{

            [keyverify addObject:[check objectAtIndex:2]];
            [getdict setObject:keyverify forKey:detail];

        }

        }
           NSArray * passarray=[getdict valueForKey:detail];

私の NSMutableDictionary 値がこのような場合

dict:{
"Sample" =     (
    "Test1",
    Test2,
    Test3
);
}

NSMutableDictionary から配列を取得して UITableView に表示できますが、このような NSMutableDictionary 値を取得すると

dict:{
"Sample" = Test1;
}

私のアプリはログでクラッシュします

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString count]: unrecognized selector sent to instance 0x6eab4c0'

親切に私を助けてください..ありがとう..

4

1 に答える 1

1

2番目のテストケースでは、キー「Sample」は配列ではないため、そのエラーが発生します。

これは、 isKindOfClass : [NSArray class] を使用して確認できます。条件に合格した場合は配列であり、そうでない場合は必要な配列メソッドを実行して、キー "Sample" を文字列として取得できます。

于 2012-11-23T04:12:57.177 に答える