2014-01-30 69 views
-7

這段代碼是內部抖動事件的範圍,客觀-C算法障礙物

if(i % 3) { 
    self.Label.text = [NSString stringWithFormat:@"%d", y]; 
    y += 1;   
} 

每當i達到3,
Y + = 1個執行。

當我再次搖晃,

的y值又增加了1
我現在等於4

所以現在我= 4且y = 2,我明白爲什麼y被添加另一個想法1但我無法弄清楚如何避免它,請幫助。

+4

我不知道你在說什麼 –

+0

我代表什麼? –

+2

您應該嘗試學習基本的編程,關於操作員正在做什麼的最基本的知識已經可以幫助您。 – alinoz

回答

1

也許您正在尋找這樣的:

if(i % 3 == 0){ 

     self.Label.text = [NSString stringWithFormat:@"%d", y]; 
     y += 1;   
} 

該代碼將增加僅Y每3迭代(或震動或任何你正在做的)

+0

這樣做!非常感謝!我把0改爲1 :) – shaideru

+0

@frustratediOSdeveloper當'i-1'可以被3整除時,這會導致代碼執行。它每三次只會發生一次,但是當執行時會有一個移位發生。 (如果'i'在任何震動之前從0開始,每次震動都會增加1,並且希望'y + = 1'以第一次振動開始,而不是第三次震動,那麼這可能是期望的行爲。) – JAB

6

嘗試if (i % 3 == 0)。通過使用i % 3,一段代碼將執行每當i是不能被3而不是整除只有i是3

0

正確的方法,你可以試試這個整除:

if(i % 3 == 0) { 
    NSLog(@"Value of i : %d and Y is : %@", i, [NSString stringWithFormat:@"%d", y]); 
    self.Label.text = [NSString stringWithFormat:@"%d", y]; 
    y += 1;   
} else { 
    NSLog(@"Value of i : %d and Y is : %@", i, [NSString stringWithFormat:@"%d", y]); 
}