Objective c 目标C-比较未按预期工作的整数
所以我的问题是: 我通过网络接收到一个JSON字符串。解码后(使用SBJSON库),它将成为一个NSDictionary,其中应该包含一些密钥“userid”的排序。我之所以说“应该”,是因为当我将该值与int、NSINTEGER或NSNumber进行比较时,它的计算结果永远不会正确 以下是代码中的比较: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
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
}