恼人的“表达结果未使用”警告

时间:2014-12-06 23:49:37

标签: objective-c xcode if-statement

这是一个愚蠢的简单动画,但我不断得到这个恼人的“表达结果未使用”警告。代码如下:

-(IBAction)thingOneTapped:(UIGestureRecognizer *)sender{
    if ((isLevel = YES)) {
        thingOneEnded = YES;
        goingToThingOne = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(otherThingToOne) userInfo:nil repeats:YES];
        x = 11;
        y = 118;
    }
    else (isLevel = NO); {
        [self viewDidLoad];
    }
}

-(void)otherThingToOne{
    if ((isLevel = YES) && (isLevelOne = YES)) {

        if ((x > 0) && (y > 0)) {
        otherThing.center = CGPointMake(otherThing.center.x - .5, otherThing.center.y - 5.35);
            x = x - .5;
            y = y - 5.35;
        }
        else ((x < 0) && (y < 0)); {
            [self levelOneDefault];
        // EVIL WARNING IS RIGHT HERE IN THE ELSE PART 
        }
    }

2 个答案:

答案 0 :(得分:0)

为了检查相等性,您需要使用==(即两个等号),这就是您收到错误的原因。此外,您的代码目前无法正常工作。

正如其他人所说。

不要使用if(someBool == YES),而只使用if(someBool)。而不是if(someBool == NO)只使用if(!someBool)

目前无效的原因是(我认为但不是100%)if(someBool = NO)将首先将someBool设置为NO,然后评估始终为{{的条件1}}永远不会进入块。

我想。但由于我没有测试过,所以不确定。

答案 1 :(得分:0)

您也可以在不检查==运算符的情况下使用它,也会更快: -

if ((isLevel) && (isLevelOne))