无法比较if语句中的值

时间:2016-01-21 13:42:14

标签: ios objective-c

我是ios的新手。我想检查陈述是否属实,但这种情况每次都是真的,即使它是假的。

 NSMutableArray *passengers=loginObj.passengers;
 PassengerObj *passenger=[passengers objectAtIndex:0];
    if([[passenger checkedIn] objectAtIndex:0])
    {
       [somestatement];
    }

在调试器中

_checkedIn  __NSCFArray *   @"1 object" 0x168b8200
   >[0] __NSCFBoolean * @"0"    0x37e696d4

1 个答案:

答案 0 :(得分:4)

假设您的数组只包含包含1或0的字符串,您可以比较字符串:

if ([[[passenger checkedIn] objectAtIndex:0] isEqualToString:@"0"])

当然,拥有NSNumber数组并使用

会更具可读性
if ([[[passenger checkedIn] objectAtIndex:0] boolValue])