2014-12-06 70 views
-1

這是一個愚蠢的簡單的動畫,但我不斷得到這個惱人的「表達結果未使用」的警告。代碼如下:惱人的「表達結果未使用」警告

-(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

爲了檢查平等,你需要使用==(即兩個等號),這就是爲什麼你得到錯誤。此外,您的代碼目前無法按預期工作。 – Fogmeister 2014-12-06 23:51:47

+0

總是簡單的事情哈哈感謝 – PICKme 2014-12-06 23:52:20

+0

擺脫'else'行末尾的分號。 – rmaddy 2014-12-06 23:57:22

回答

0

爲了檢查平等,你需要使用==(即兩個等號),這就是爲什麼你得到錯誤。此外,您的代碼目前無法按預期工作。

正如別人所說。

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

它不會在目前工作的原因是因爲(我想,但不是100%在此)if(someBool = NO)將首先設置someBool爲NO,然後評估,這將永遠是if(NO)這將永遠不會進入該塊的狀態。

我想。但由於我沒有測試過,所以不確定。

+2

你不應該'if(someBool == YES)'。只要做'if(someBool)'。 – rmaddy 2014-12-06 23:58:50

+0

和'if(!someBool)'而不是'== NO'。 – Sulthan 2014-12-07 00:02:16

+0

爲什麼它現在不按預期順序運行? – PICKme 2014-12-07 00:12:16

0

您也可以使用這樣的不檢查==運營商,也將是更多更快: -

if ((isLevel) && (isLevelOne)) 
相關問題