如果其他条件总是执行,否则不是

时间:2012-09-06 07:35:13

标签: iphone if-statement

我正在使用if else查看条件,但它始终执行其他

int mytestcount=rowCount;
NSLog(@"My Test ROw Count IS %d",mytestcount);


if (mytestcount=0) {


    NSLog("No Data To Upload");

}


else {


    [Coffee getInitialDataToDisplay:[self getDBPath]];



}

我的if是真的然后它也可以解决其他我不知道为什么当rowCount为0时

4 个答案:

答案 0 :(得分:1)

我猜你需要添加另一个=符号,使其显示为:

if (mytestcount==0)

答案 1 :(得分:1)

=是赋值运算符,==是比较运算符。 所以你的代码片段是:

  • 将0分配给mytestcount
  • 在if条件中使用mytestcount,并且因为mytestcount等于0而基于C的语言将0视为false,所以if条件总是计算为false,而你的else分支总是被执行

答案 2 :(得分:0)

int mytestcount=rowCount;
 NSLog(@"My Test ROw Count IS %d",mytestcount);


if (mytestcount == 0) {


NSLog("No Data To Upload");

}


 else {


[Coffee getInitialDataToDisplay:[self getDBPath]];



}

检查出来......

答案 3 :(得分:0)

你的陈述(mytestcount = 0)实际上是,0分配给mytestcount,然后使用mytestcount的值作为布尔表达式,因为它是永远的假分配了值0

这是一个非常常见的拼写错误,以至于大多数编译器都可以检测到这种情况并在识别出这种模式时打印警告消息,因为您几乎总是不会想要这种行为。

您应该考虑使用 -Wall -Werror运行gcc,这会导致编译器在看到这些错误和其他类似错误的常见模式时抛出错误。