BOOL变量在if条件语句的理解(OC)


在一个计算器的逻辑实现文件里,先声明了一个BOOL类型变量
BOOL isPlus;
然后在calculator的逻辑方法里,条件判断


 if (isPlus) {
        numDisplay =leftNum +rightNum;
        int tmp = (int) numDisplay;
        if(tmp == numDisplay)
            myTotal.text = [[NSString alloc] initWithFormat:@"%d",tmp];
        else
        myTotal.text = [[NSString alloc] initWithFormat:@"%f",numDisplay];
        NSLog(@"++leftNum is %f,rightNum is %f",leftNum,rightNum);

方法中有定义 isPlus = false;

其中 if (isPlus) 是指其条件为false的情况下,执行下面语句吗? 我记得OC里if条件为true才会执行啊,难道是指isPlus = false这个语句为true?
新手对这个逻辑不是很理解,求指导,谢谢啦!

if iso objective-c

堕落的鲸鱼 8 years, 10 months ago

if (isPlus) === if(isPlus==YES)

SUNWEI answered 8 years, 10 months ago

if(表达式){ 语句 } ,其中表达式的返回类型为Bool且当其为真的话执行语句, if(isPlue) 相当于 isPlue == true ,当这句话为真,执行下面的语句。而你方法中的 isPlus = false 只是一个赋值语句,和下面的if条件判断没有关系。

甜心软汉子 answered 8 years, 10 months ago

Your Answer