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

在您的第二个测试用例中,键“Sample”不是一个数组,这就是您收到该错误的原因。

您可以使用 isKindOfClass 进行检查:[NSArray 类],如果它通过条件,则它是一个数组,如果不是,则可以执行所需的数组方法,然后将键“Sample”作为字符串获取。

于 2012-11-23T04:12:57.177 回答