- (void)creatTimer{
// id userInfo = @"贵哥jk";
// id userInfo = @{@"姓名": @"贵哥jk", @"email":@"942513675@qq.com"};
// id userInfo = @10;
id userInfo = [UIButton new];
((UIButton *)userInfo).tag = 1000;
NSTimeInterval time = 0.5;
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:time target:self selector:@selector(timerSelector:) userInfo:userInfo repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
- (void)timerSelector:(NSTimer *)timer{
id userInfo = timer.userInfo;
NSLog(@"%@",userInfo);
UIButton *btn = userInfo;
NSLog(@"%ld",btn.tag);
if (@"条件判断") {
[timer invalidate];
timer = nil;
}
}
解析
类方法:scheduledTimerWithTimeInterval:(NSTimeInterval) time target:(id) aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;可以传递一个 id 类型的参数