Runloop應(yīng)用:Timer失效問題

背景:
  • 添加Timer,當(dāng)拖動tableView的時候,timer失效。
失效原因:
  • runloop有兩種model:kCFRunLoopDefaultMode(NSDefaultRunLoopMode)(App的默認(rèn)Mode,通常主線程是在這個Mode下運行)和UITrackingRunLoopMode(界面跟蹤 Mode,用于 ScrollView 追蹤觸摸滑動);
  • 而 Timer 是在model中;
  • 常規(guī)的添加timer方法,只添加在了kCFRunLoopDefaultMode(NSDefaultRunLoopMode)中,拖動tableView時,model切換為UITrackingRunLoopMode,而里面沒有定義Timer,所以timer就失效了。
解決:
  • 給兩種model都添加timer:
  NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
      
    }];
 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《怪誕行為學(xué)2》 關(guān)于作者丹·艾瑞里,杜克大學(xué)行為經(jīng)濟(jì)學(xué)教授,認(rèn)知心理學(xué)和營銷學(xué)的雙料博士。其代表作《怪誕行為學(xué)》...
    地球心閱讀 1,092評論 0 4
  • 怪誕行為學(xué) 《怪誕行為學(xué)2》| 關(guān)于作者 丹·艾瑞里,杜克大學(xué)行為經(jīng)濟(jì)學(xué)教授,認(rèn)知心理學(xué)和營銷學(xué)的雙料博士。其代...
    GhostintheCode閱讀 555評論 0 0
  • 關(guān)于作者 丹·艾瑞里,杜克大學(xué)行為經(jīng)濟(jì)學(xué)教授,認(rèn)知心理學(xué)和營銷學(xué)的雙料博士。其代表作《怪誕行為學(xué)》系列書籍從行為經(jīng)...
    蔚成閱讀 582評論 0 1
  • 001關(guān)于作者 丹·艾瑞里,杜克大學(xué)行為經(jīng)濟(jì)學(xué)教授,認(rèn)知心理學(xué)和營銷學(xué)的雙料博士。其代表作《怪誕行為學(xué)》系列書籍從...
    河馬先森閱讀 388評論 0 0
  • 怪誕行為學(xué)2,這是在“得到”很早就買了的一本聽書音頻,一直束之高閣,這兩天偶然聽到,覺得頗有意思。 書中陳述了6個...
    身雖未至心已往之閱讀 527評論 2 0

友情鏈接更多精彩內(nèi)容