@SanMao
2015-08-05T16:32:14.000000Z
字数 1265
阅读 1523
知识补充
// 屏幕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];