在使用scheduledTimerWithTimeInterval
方法創建NSTimer
時,如果需要傳遞參數,可以使用userInfo
參數來傳遞額外的數據。
下面是一個示例代碼:
- (void)startTimerWithInterval:(NSTimeInterval)interval {
NSDictionary *userInfo = @{@"param1": @"value1", @"param2": @"value2"};
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:interval
target:self
selector:@selector(timerFired:)
userInfo:userInfo
repeats:YES];
}
- (void)timerFired:(NSTimer *)timer {
NSDictionary *userInfo = timer.userInfo;
NSString *param1 = userInfo[@"param1"];
NSString *param2 = userInfo[@"param2"];
// 使用傳遞的參數進行相關操作
NSLog(@"param1: %@, param2: %@", param1, param2);
}
在startTimerWithInterval
方法中,通過userInfo
參數將需要傳遞的參數存儲在一個NSDictionary
對象中。然后,在timerFired:
方法中,通過timer.userInfo
獲取到傳遞的參數,并進行相關操作。