Ios Can';t比较if语句中的值

Ios Can';t比较if语句中的值,ios,objective-c,Ios,Objective C,我是ios新手。我想检查语句是否为真,但这个条件每次都为真,即使它为假 NSMutableArray *passengers=loginObj.passengers; PassengerObj *passenger=[passengers objectAtIndex:0]; if([[passenger checkedIn] objectAtIndex:0]) { [somestatement]; } 在调试器中 _checkedIn __NSCFA

我是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的字符串,则可以比较该字符串:

if ([[[passenger checkedIn] objectAtIndex:0] isEqualToString:@"0"])
当然,如果有一个
NSNumber
s数组并使用

if ([[[passenger checkedIn] objectAtIndex:0] boolValue])

假设数组仅包含包含1或0的字符串,则可以比较该字符串:

if ([[[passenger checkedIn] objectAtIndex:0] isEqualToString:@"0"])
当然,如果有一个
NSNumber
s数组并使用

if ([[[passenger checkedIn] objectAtIndex:0] boolValue])

我相信
@“0”
的计算结果是
真的
,因为它不是
。但是如何正确地做呢?对象总是
@“0”
还是
@“1”
?我相信
@“0”
的计算结果是
真的
,因为它不是
。但是如何正确地做呢?对象总是
@“0”吗
@“1”
?例如,右键clic If语句的内容,将其提取为返回bool的方法,并将其称为
IsPassenderCheckedIn
,这将更具可读性。这是我喜欢用我的“复杂”或长if语句做的事情;例如,右键clic If语句的内容,将其提取为返回bool的方法,并将其称为
IsPassenderCheckedIn
。这是我喜欢用我的“复杂”或长if语句做的事情;从那以后,它读起来就像散文。