`
lizhuang
  • 浏览: 906452 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DISPATCH TIMER

 
阅读更多
/*
    __block void (^callback)() = [^{
       
        float second = 2.0;
        bool _stop = NO;
        if(_stop) {
            NSLog(@"all done");
            callback = nil; // break retain cycle
        } else {
            NSLog(@"still going");
            NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
       
            [dic setObject:object forKey:key];
           
           
            [_service listMessages:^(id response, NSError *error) {
                //获取主线程,更新界面
                if (error) {
                    //show error
                }else{
                    获取数据
                       
                    }
                    dispatch_async(dispatch_get_main_queue(), ^{
                        //更新界面
                        [table reloadData];
                        [self scrollTableToFoot];
                    });
                }
               
               
            } parameters:dic];
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, second * NSEC_PER_SEC),
                           dispatch_get_main_queue(),
                           callback);
        }
    } copy];
   
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC),
                   dispatch_get_main_queue(),
                   callback);
     */
分享到:
评论

相关推荐

    Dispatch Source Timer的使用及注意事项介绍

    Dispatch Source Timer 是 iOS 开发中用于创建定时器的一种机制,它是 GCD(Grand Central Dispatch)的一部分,相较于 NSTimer,Dispatch Source Timer 更加适合在后台队列中执行周期性任务,且更加高效。...

    DispatchTimer:它基于调度计时器源。 使其像NSTimer一样使用

    It is base on Dispatch Timer Source. Make it like NSTimer to use. DaidoujiChen 总览 DispatchTimer 使用的切入点与NSTimer 类似, 不过有些许的功能我觉得使用上会比NSTimer 来得方便, 比如说直接可以代入...

    iOS定时器Demo

    2. **GCD(Grand Central Dispatch)的Dispatch Timer** - GCD提供了一种更灵活的定时器实现方式,即`dispatch_source_t`类型下的定时器。通过`dispatch_source_set_timer`设置定时器的间隔、初始延迟、精度和重复...

    imagegcd实例源码

    6. **GCD定时器(Dispatch Timer)**:除了基本的任务调度,GCD还提供定时器功能(`dispatch_source_create` with `DISPATCH_SOURCE_TYPE_TIMER`),可以在指定时间间隔后触发任务,这对于实现定时刷新图片或者其他...

    dispatch_source

    - **计时器**:`DISPATCH_SOURCE_TYPE_TIMER`创建定时器源,可以在指定的时间间隔触发事件。 - **信号**:`DISPATCH_SOURCE_TYPE_SIGNAL`用于监听进程收到的信号。 - **内存映射**:`DISPATCH_SOURCE_TYPE_MACH_...

    iOS GCD timer 计时器

    private let timerSource: DispatchSourceTimer? init(interval: TimeInterval, repeats: Bool, handler: @escaping () -> Void) { timerSource = DispatchSource.makeTimerSource(queue: queue) timerSource?....

    java 定时器(Timer)

    - 当主线程(如Event Dispatch Thread)结束时,Timer也会停止工作,因为它是依赖于主线程的。 - 在多线程环境中,对Timer的修改(如改变延迟或取消)必须在与创建Timer相同的线程中进行。 7. **示例代码** ```...

    ios-dispatch的简单demo_.zip

    这个“ios-dispatch的简单demo_.zip”压缩包文件包含了一个关于Dispatch学习的实例,主要涵盖了`apply`、`source`、`source_timer`、`barrier`和`group`这五个关键概念。下面我们将详细讲解这些知识点: 1. **...

    解决timer循环引用的问题

    3. 使用GCD定时器(`DispatchSourceTimer`):GCD不会引起循环引用,因为它是基于Cocoa Touch框架之外的系统级调度。创建GCD定时器后,只需在适当的地方取消即可。 ```swift let queue = DispatchQueue(label: ...

    Swift-定时器scheduledTimer

    1. **DispatchSourceTimer**:基于GCD的定时器,更底层,更灵活,但使用起来稍复杂。 2. **OperationQueue**:可以设置依赖关系,适合复杂的任务调度。 综合来看,ScheduledTimer以其简单易用的特点在日常开发中...

    C#中的Timer和DispatcherTimer使用实例

    在C#编程中,`Timer` 和 `DispatcherTimer` 是两种常见的定时器,它们在不同的场景下有不同的用途。本文将详细介绍这两个类的使用方法和特点。 首先,`System.Timers.Timer` 是一个基于服务器的计时器,适用于多...

    VC编写ActiveX OCX控件--Timer

    首先,你需要声明一个成员变量来存储计时器ID,然后在`DECLARE_DYNAMIC`和`BEGIN_DISPATCH_MAP`宏中添加Timer相关的成员函数声明,如`OnTimer`。接下来,在`CREATE_OLE_CONTROL_CLASS`宏中,确保包含`afxctl.lib`库...

    IOS应用源码——timer.zip

    1. **创建GCD定时器**:使用`dispatch_source_create`创建一个源,然后通过`dispatch_source_set_timer`设置时间间隔和策略。 2. **设置回调**:使用`dispatch_source_set_event_handler`定义当定时器触发时执行的...

    SourceDemo

    在苹果的Grand Central Dispatch (GCD)框架中,`dispatch_source_create` 和 `dispatch_source_set_timer` 是两个非常重要的函数,它们是构建高效、异步处理任务的关键工具。本文将深入探讨这两个函数以及它们在GCD...

    ios-计时器.zip

    在iOS中,我们通常会使用`NSTimer`或GCD(Grand Central Dispatch)中的`DispatchSourceTimer`来创建计时器。 首先,`NSTimer`是基于运行循环(RunLoop)的,这意味着只有当RunLoop处于活动状态时,计时器才会触发...

    GCD实现倒计时功能

    使用`DispatchSourceTimer`创建一个定时器,它会在指定的时间间隔后触发事件。在GCD中,我们可以通过创建一个dispatch source来实现定时器功能。 ```swift let timerSource = DispatchSource.makeTimerSource...

    Swift-Time(定时)

    在Swift中,我们可以使用DispatchSource Timer来创建定时器,这通常比NSTimer更灵活且性能更好。 ```swift let queue = DispatchQueue(label: "com.example.timerQueue", qos: .userInitiated, attributes: ....

    iOS中最全的各种定时器使用教程

    dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue()); dispatch_source_set_timer(timer, dispatch_walltime(NULL, 1 * NSEC_PER_SEC), 1 * NSEC_PER_...

    iOS获取短信验证码倒计时的两种实现方法

    接下来,创建一个定时器源`_timer`,设置其类型为`DISPATCH_SOURCE_TYPE_TIMER`,并设定每隔1秒执行一次。倒计时事件处理器`dispatch_source_set_event_handler`会根据`timeout`的值来更新按钮的状态:当`timeout`...

Global site tag (gtag.js) - Google Analytics