美文网首页面试题iOS
以 + scheduledTimerInterval... 的方

以 + scheduledTimerInterval... 的方

作者: iOS猿_员 | 来源:发表于2019-01-29 20:23 被阅读97次

原文:iOS面试题大全

RunLoop 只能运行在一种 mode 下,如果要换 mode,当前的 loop 也需要停下重启成新的。利用这个机制,ScrollView 滚动过程中 NSDefaultRunLoopMode(kCFRunLoopDefaultMode)的 mode 会切换到 UITrackingRunLoopMode 来保证 ScrollView 的流畅滑动:只能在 NSDefaultRunLoopMode 模式下处理的事件会影响 ScrollView 的滑动。

如果我们把一个 NSTimer 对象以 NSDefaultRunLoopMode(kCFRunLoopDefaultMode)添加到主运行循环中的时候, ScrollView 滚动过程中会因为 mode 的切换,而导致 NSTimer 将不再被调度。

Timer 计时会被 scrollView 的滑动影响的问题可以通过将 timer 添加到 NSRunLoopCommonModes(kCFRunLoopCommonModes)来解决。

    // 默认情况:将 timer 添加到 NSDefaultRunLoopMode 中:
    [NSTimer scheduledTimerWithTimeInterval:1.0
         target:self
         selector:@selector(timerTick:)
         userInfo:nil
         repeats:YES];
    // 手动将 timer 添加到 NSRunLoopCommonModes 里:
    NSTimer *timer = [NSTimer timerWithTimeInterval:1.0
         target:self
         selector:@selector(timerTick:)
         userInfo:nil
         repeats:YES];
    [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

相关文章

  • 以 + scheduledTimerInterval... 的方

    原文:iOS面试题大全 RunLoop 只能运行在一种 mode 下,如果要换 mode,当前的 loop 也需要...

  • 方以智

    方以智(公元1611~1671年),字密之,安徽桐城人,是明末清初的思想家和科学家。青年时期,他关心国家命运,又博...

  • 方以做人,圆以处事

    无规矩,不成方圆。方是做人的根本。做人要顶天立地,堂堂正正。做人要遵守规则、坚守节操。 屈原“伏清白以死直兮”,“...

  • 以脉定方

    男性,八十四岁。 主述火大口渴,夜甚,七天。 舌红苔薄中有裂纹,脉左滑数,右沉玄。 查脉考虑阳明腑实,问其大便情况...

  • [诗词]方以智

    花似雪,东风夜扫苏堤月。苏堤月,香销南国,几回圆缺?钱塘江山潮声歇,江边杨柳谁攀折?谁攀折,西陵渡口,古今离别。-...

  • 以日以年,行方致远

    已经连续两天,因为思维的惰性不肯动笔了,今天一定要把高语的作业完成。还记得九月份加入新网师高中语文课程班的时候,刘...

  • 恬淡讲茶经(D37)

    <涤方> 涤方,以贮涤洗之余,用楸木合之,制如水方,受八升。 <滓方> 滓方,以集诸滓,制如涤方,...

  • 唯有责任,方以强国

    2000到2035,时代在变,一代代人才辈出,一代人有一代人的机遇和机缘,使命和挑战。我们,以及未来的你们,都肩负...

  • 我行四方,以日以年

    锦书万里凭谁寄?过尽飞鸿矣。柔肠已断泪难收,总为相思不上最高楼。 梦中应识归来路,梦也了无据。十年往事已模糊,转悔...

  • 我行四方,以日以年。

网友评论

    本文标题:以 + scheduledTimerInterval... 的方

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