Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 目标C-比较未按预期工作的整数_Objective C_Json_Comparison_Integer - Fatal编程技术网

Objective c 目标C-比较未按预期工作的整数

Objective c 目标C-比较未按预期工作的整数,objective-c,json,comparison,integer,Objective C,Json,Comparison,Integer,所以我的问题是: 我通过网络接收到一个JSON字符串。解码后(使用SBJSON库),它将成为一个NSDictionary,其中应该包含一些密钥“userid”的排序。我之所以说“应该”,是因为当我将该值与int、NSINTEGER或NSNumber进行比较时,它的计算结果永远不会正确 以下是代码中的比较: NSDictionary *userDictionary = [userInfo objectAtIndex:indexPath.row]; if ([userDictionary obje

所以我的问题是:

我通过网络接收到一个JSON字符串。解码后(使用SBJSON库),它将成为一个NSDictionary,其中应该包含一些密钥“userid”的排序。我之所以说“应该”,是因为当我将该值与int、NSINTEGER或NSNumber进行比较时,它的计算结果永远不会正确

以下是代码中的比较:

NSDictionary *userDictionary = [userInfo objectAtIndex:indexPath.row];

if ([userDictionary objectForKey:@"userid"] == -1) {
 //Do stuff
}
我正在测试的字典中的值是-1。当我使用NSLog将它打印到控制台时,它甚至显示为-1。然而,当我将它与“if”语句中的-1进行比较时,当它应该为true时,它的计算结果为false。我甚至尝试过与[NSNumber numberWithInt:-1]进行比较,但结果仍然为false


我做错了什么?提前感谢您的帮助

您将指针与对象进行比较,而不是整数本身。必须首先将对象转换为整数:

if ([[userDictionary objectForKey:@"userid"] integerValue] == -1)
{
     //Do stuff
}