【发布时间】:2013-09-11 09:56:57
【问题描述】:
我基本上得到了这个错误
'NSInvalidArgumentException', reason: '-[__NSCFConstantString objectForKey:]: unrecognized selector sent to instance 0x581f0'
在我的节目中。我想它指的是我打的这个电话,
if (data != nil) {
if([data objectForKey:@"username"]){
// NSArray *check= [[NSArray alloc]init];
//check=[data allValues];
[dict setObject:[data allValues] forKey:@"args"];
}else{
[dict setObject:[NSArray arrayWithObject:data] forKey:@"args"];
}
在 setObject:[data allValues]。我不知道为什么它会给出这个错误,但是 data 是一个 NSDictionary 并且我正在获取所有值并将其放入一个数组中。
【问题讨论】:
-
在“if (data != nil)”之后,记录 [data class] 并查看它给出的结果。
-
@rdelmar 感谢您的提示。它显示了问题。首先它返回 NSMutableDictionary 然后是一个字符串。所以我现在的问题是,有没有办法检查某些东西是否是字典?
-
if([data isKindOfClass:[NSDictionary class]]) 怎么样
-
@rdelmar 谢谢。我已经在网上找到了,但再次感谢。
-
似乎是一个设计缺陷,您在需要 NSDictionary 的地方使用 NSString 调用此方法。
标签: ios objective-c