美文网首页
NSRunLoop之入门理解(一)

NSRunLoop之入门理解(一)

作者: J了个朋 | 来源:发表于2017-08-08 22:57 被阅读0次

    1 当有一个定时器控制UI的时候,同时操作其他UI而不能影响这个定时器的时候的处理方案

    NSRunLoopMode一般分成5种而常用的却只有三种:NSDefaultRunLoopMode(默认模式),NSRunLoopCommonModes(组合模式),UITrackingRunLoopMode(UI事件模式)
    而NSRunLoopCommonModes = NSDefaultRunLoopMode+UITrackingRunLoopMode
    通常NSRunLoop默认是NSDefaultRunLoopMode模式,这个时候当有UI事件处理的时候当前的Runloop会优先处理UI事件当UI事件处理完毕才会触发NSDefaultRunLoopMode模式的事件,所以我们会把定时器放在Runloop的组合模式下,这样就不会受到其他UI的事件影响。

     // 初始化定时器
     NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(testTimer) userInfo:nil repeats:YES];
    // 将定时器添加到RunLoop
    [[NSRunLoop currentRunLoop] addTimer:timer forMode:UITrackingRunLoopMode];
    

    2 如果是用定时器处理其他的耗时事件-可以放在其他线程的

    相关文章

      网友评论

          本文标题:NSRunLoop之入门理解(一)

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