2014年11月26日 星期三

[Objective-C] NSTimer - 基本用法

NSTimer

有時候會想要設計一些有關時間的功能,像是倒數計時、一段時間內執行某些事件,這時候就可以使用NSTimer類別。


在這裡介紹一個簡單的例子來了解如何使用這個類別。


每一秒重複呼叫某個事件


1.先寫好要呼叫的事件

-(void)sayHi {
    NSLog(@"HI");
}


2.利用NSTimer去呼叫此事件
在此有兩種類別方法可以使用

+scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
+scheduledTimerWithTimeInterval:invocation:repeats:

我們選擇第一種。
NSTimer *mytimer;
mytimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(sayHi) userInfo:nil repeats:YES];
參數說明:
scheduledTimerWithTimeInterval
每幾秒執行,填入一個數字
target
該事件的目標在哪,同一個類別就填 self,不同則填物件或類別名稱
selector
選擇器,填入你要執行的事件 @selector(事件名稱)
userInfo
填入你要傳給事件的參數,沒有就填nil
repeats
是否要重複,YES or NO