比较两个BOOL值

时间:2012-10-26 07:53:49

标签: objective-c ios comparison boolean

在我的实例方法中,想要将BOOL参数与静态变量的内容进行比较,例如:

- (NSArray*)myMethod:(NSString*)someString actualValuesOnly:(BOOL)actualValuesOnly {
static NSString *prevSsomeString;
static BOOL prevActualValuesOnly;
static NSArray *prevResults

if ([someString isEqualToString:prevSomeString] && 
              ([actualValuesOnly isEqual: prevActualValuesOnly]) 
               // HOW TO COMPARE THESE TWO BOOLEANS CORRECTLY?? 
    { return prevResults; }// parameters have not changed, return previous results 
else { } // do calculations and store parameters and results for future comparisons)

这样做的正确方法是什么?

5 个答案:

答案 0 :(得分:5)

由于BOOL是基本(或标量)类型,而不是类,因此您可以直接将其与==进行比较

if ([someString isEqualToString:prevSomeString] && actualValuesOnly == prevActualValuesOnly) 

答案 1 :(得分:3)

布尔变量与==符号而不是isEqual

进行比较
if(Bool1 == Bool2){

    // do something here}

答案 2 :(得分:1)

布尔值与==符号而不是isequal:

进行比较

答案 3 :(得分:1)

这里提到的解决方案并不是比较2个BOOL值最安全的方法,因为BOOL实际上只是一个整数,因此它们可以包含的不仅仅是YES / NO值。最好的方法是将它们混合在一起,如下所示:https://stackoverflow.com/a/11135879/1026573

答案 4 :(得分:0)

Matthias Bauch建议,

只需使用 == 运算符即

进行比较
if (BOOL1 == BOOL2)   
{   
    //enter code here
}