作者: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的子線程直接調 直接調的話不會生效
如果想要在子線程中生效可以:
- 給這個子線程加runloop
- 讓這個方法在一個你創建的新的帶有runloop的子線程中perform
- 不用performSelector:withObject:afterDelay改用dispatch_after