问题描述
在一个计算器的逻辑实现文件里,先声明了一个BOOL类型变量BOOL isPlus;然后在calculator的逻辑方法里,条件判断
if (isPlus) {numDisplay =leftNum +rightNum;int tmp = (int) numDisplay;if(tmp == numDisplay) myTotal.text = [[NSString alloc] initWithFormat:@'%d',tmp];elsemyTotal.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?新手对这个逻辑不是很理解,求指导,谢谢啦!
问题解答
回答1:if(表达式){ 语句 },其中表达式的返回类型为Bool且当其为真的话执行语句,if(isPlue)相当于isPlue == true,当这句话为真,执行下面的语句。而你方法中的isPlus = false只是一个赋值语句,和下面的if条件判断没有关系。
回答2:if (isPlus) === if(isPlus==YES)