首页 > 移动平台 > 详细

IOS中延迟执行的几种方法

时间:2015-04-07 19:10:54      阅读:204      评论:0      收藏:0      [点我收藏+]

前几天去国美在线面试,就遇到了上面的问题,当时是笔试,只写出来了第一种方法,现在整理了一下。

   //1.performSelector方法;在当前线程中执行的方法,使用默认模式,并延迟执行@selector方法。
    [self performSelector:@selector(runDelayMethod) withObject:nil afterDelay:2.0];
    //取消之前注册的performSelector:withObject:afterDelay:这个方法
    //[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(runAfterDelay) object:nil];
    
    //2.GCD方法;延迟执行block(块)中代码
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self runDelayMethod];
    });
    
    //3.NSTimer方法;创建一个NSTimer对象,使用默认的模式,延迟执行@selector方法
    [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(runDelayMethod) userInfo:nil repeats:NO];

runDelayMethod方法就是要延迟执行的方法

- (void)runDelayMethod
{
    NSLog(@"延迟两秒执行");
}

 

IOS中延迟执行的几种方法

原文:http://www.cnblogs.com/lidaojian/p/4398809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!