子線程中performSelector afterDelay

作者:Love@YR
鏈接:https://blog.csdn.net/jingqiu880905/article/details/82900512
請尊重原創,謝謝!

performSelector


今天用幾個例子來記錄一下performSelector的各種用法和注意事項

  • performSelector:withObject
    此方法同步阻塞當前線程 它走完再走後面的方法

  • performSelectorOnMainThread:withObject:waitUntilDone
    此方法可以在主線程或者子線程去調 但selector方法運行在主線程
    waitUntilDone:YES 同步阻塞 自己走完再走後面方法
    waitUntilDone:NO 異步非阻塞

  • performSelector:withObject:afterDelay
    此方法是異步非阻塞!! 不能在沒有runloop的子線程直接調 直接調的話不會生效
    如果想要在子線程中生效可以:

  1. 給這個子線程加runloop
  2. 讓這個方法在一個你創建的新的帶有runloop的子線程中perform
  3. 不用performSelector:withObject:afterDelay改用dispatch_after

代碼:TestPerformSelectorDelay

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章