使用 Timer 傳遞資料
如果你想使用計時器觸發器傳遞一些資料,可以使用 userInfo
引數執行此操作。
這是一個簡單的方法,簡要介紹瞭如何將資料傳遞給 Timer 中的觸發方法。
[ Swift 3 ]
Timer.scheduledTimer(timeInterval: 1.0, target: self, selector:#selector(iGotCall(sender:)), userInfo: ["Name": "i am iOS guy"], repeats:true)
[ 目的 - C ]
NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(iGotCall:)
userInfo:@"i am iOS guy" repeats:YES];
上面的程式碼行將 ["Name": "i am iOS guy"]
傳遞給 userInfo
。所以現在當 iGotCall
呼叫時,你可以獲得傳遞的值,如下面的程式碼片段所示。
[ Swift 3 ]
func iGotCall(sender: Timer) {
print((sender.userInfo)!)
}
[ 目的 - C ]
- (void)iGotCall:(NSTimer*)theTimer {
NSLog (@"%@", (NSString*)[theTimer userInfo]);
}