2013-12-09 27 views
0

我有一個關於使用NSTimer與標籤結合的問題。我還沒有找到答案,但這可能是基本的。我仍然在學習iOS ...NSTimer for UILabel

我的應用程序是一個包含「模式」按鈕的計算器。默認情況下,我的計算器在模式1中啓動,標籤爲「messageText」,表示「沒有錯誤」。當按下模式按鈕時,我希望UILabel「messageText」在顯示文本「模式2」3秒鐘,然後再變回「無錯誤」。

我不確定如何將NSTimer與我的標籤進行整合。這是我到目前爲止。我的問題是,變量*計時器未使用。我如何將它與只有我的messageText標籤一起使用,而不是其他的?任何幫助將不勝感激:

-(IBAction)mode 
{ 
years.text = @"0"; 
months.text = @"0"; 
days.text = @"0"; 

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:3 target: self selector:@selector(timerEnded) userInfo: nil repeats:NO]; 
messageText.text = @"Mode 2"; 

} 

-(void)timerEnded 
{ 
    messageText.text = @"No Errors"; 
} 
+0

@Anton代碼應該編譯乾淨(沒有警告)。大多數警告可能是錯誤,代碼應該修復。一旦你訓練自己忽視警告,你就會開始忽視你不應該做的事情。 – rmaddy

+0

@rmaddy我同意這一觀點,但我的印象是OP有一些功能錯誤,因爲他們提到了標籤和計時器的結合。 – Anton

回答

2

您聲明並初始化一個名爲timer變量,但你永遠不使用它。

要消除警告,請在別處使用該變量或不要創建該變量。只要做到:

[NSTimer scheduledTimerWithTimeInterval:3 target: self selector:@selector(timerEnded) userInfo: nil repeats:NO]; 

如果你也許需要無效(停止),定時器,你應該在伊娃保持一個參考,所以你可以調用它invalidate

+0

謝謝,現在我更好地瞭解如何使用NSTimer。它運作良好。 –