@SanMao
2015-08-06T00:32:14.000000Z
字数 1265
阅读 1382
知识补充
// 屏幕1秒刷新60次,每一次屏幕刷新的时候就会调用,1秒调用60次
// 创建一个定时器,target对象会调用sel方法
+ (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel;
// 把定时器加入进程(一般是加入主进程)
- (void)addToRunLoop:(NSRunLoop *)runloop forMode:(NSString *)mode;
// 移除定时器方法
- (void)invalidate;
// 使用此方法创建NSTimer对象会自动加入到runloop中
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;
// 使用此方法创建NSTimer对象需要手动添加到runloop中
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;
- (void)fire; //立即触发定时器
- (NSDate *)fireDate;//开始时间
- (void)setFireDate:(NSDate *)date;//设置fireData,暂停、开始会用到
- (NSTimeInterval)timeInterval;//延迟时间
- (void)invalidate;//停止并删除
- (BOOL)isValid;//判断是否有效
- (id)userInfo;//通常用nil
[NSThread sleepForTimeInterval:0.01];
[NSThread sleepUntilDate:2.0];
[self performSelector:@selector(run) withObject:nil afterDelay:2.0];
// 2秒后再调用self的run方法
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 2秒后执行这里的代码...
});
[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(test) userInfo:nil repeats:NO];