1. 程式人生 > >子執行緒中performSelector afterDelay

子執行緒中performSelector afterDelay

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