美文网首页
iOS 延时执行

iOS 延时执行

作者: 蓝白自由 | 来源:发表于2023-08-30 10:10 被阅读0次
1、
[self performSelector:@selector(removeAllSceneArrObjects) withObject:nil afterDelay:1.5f];

- (void)removeAllSceneArrObjects {
    NSLog(@"\n== 删除所有场景 OK");
}


2、GCD
double delayInSeconds = 2.0;   // 延时2秒执行返回
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,
                                            (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void) {

});


3、NSTimer
// 是一种非阻塞的执行方式
// 可以通过 NSTimer 类的 - (void)invalidate; 取消执行
dispatch_async(dispatch_get_main_queue(), ^{
    // 此方式要求必须在主线程中执行, 否则无效
    [NSTimer scheduledTimerWithTimeInterval:1.0f
                                     target:self
                                   selector:@selector(delayMethod)
                                   userInfo:nil
                                    repeats:NO];
});

// ==================================================
@property (nonatomic, strong) NSTimer *timer;

#pragma mark - 定时器控制
- (void)startTimer {
    // 创建一个定时器  自动启动
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5
                                                  target:self
                                                selector:@selector(nextPage)
                                                userInfo:nil
                                                 repeats:YES];
    

    self.timer = [NSTimer timerWithTimeInterval:1.5
                                         target:self
                                       selector:@selector(nextPage)
                                       userInfo:nil
                                        repeats:YES];
    // 启动
    [self.timer fire];
    
    [[NSRunLoop mainRunLoop] addTimer:self.timer
                              forMode:NSRunLoopCommonModes];
}

- (void)stopTimer {
    [self.timer invalidate];
    self.timer = nil; //释放内存
}


相关文章

  • 技术贴:3.iOS中的延时执行

    延迟执行也叫做延时执行。在iOS中有三种延时执行方式: 1.调用NSObject的方法 [self perform...

  • iOS 延时执行的实现

    iOS中延时执行的4种方法

  • IOS3

    1、 2、iOS中常用的延时方法iOS常见的延时执行有2种方式调用NSObject的方法[self perform...

  • IOS-延时执行

    IOS中延时执行的几种方式的比较和汇总 本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的...

  • 多线程----GCD的常用函数和单例模式

    线程间的通信 从子线程回到主线程 延时执行 iOS常见的延时执行有两种方式p 调用NSObject的方法 p 使用...

  • 关于GCD常用的方法

    iOS开发多线程篇—GCD的常见用法 一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)...

  • iOS开发-延时执行

    1.GCD 注:dispatch_after方法本质是将任务延时添加到队列中,并不是延时执行任务,所以在对时间要求...

  • iOS延时执行测试

    在iOS程序中运行结果的原理 performSelector:@selector(logb)知识点:告诉线程直接调...

  • GCD其它常用函数(四)

    一. 延迟执行 iOS常见的延时执行调用NSObject的方法 使用GCD函数(延迟并控制方法在哪个线程执行) 使...

  • iOS开发多线程篇—GCD的常见用法

    一、延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [selfperform...

网友评论

      本文标题:iOS 延时执行

      本文链接:https://www.haomeiwen.com/subject/ojoomdtx.html