首先看下面两行代码:
NSTimer *timer = [NSTimer timerWithTimeInterval:10 target:self selector:@selector(selector) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
第一行代码是初始化一个timer,在timer启动后10s执行方法selector,并且只执行一次(repeats:NO)。
第二行代码是将timer添加到当前运行循环中,然后timer自动启动请开始计时,10s后开始执行selector方法。
[timer setFireDate:[NSDate distantFuture]];
这句话的效果是暂停timer,因为timer在10s后执行selector方法变成了在遥远的未来执行selector方法。
[timer setFireDate:[NSDate date]];
这句话的效果是timer立即执行selector方法,因为timer在遥远的未来执行selector方法变成了在此时执行selector方法。
网友评论