美文网首页
iOS PerformSelector 的实现原理

iOS PerformSelector 的实现原理

作者: 赵哥窟 | 来源:发表于2020-06-18 11:33 被阅读0次
    PerformSelector 的实现原理

    当调用 NSObject 的 performSelecter:afterDelay: 后,实际上其内部会创建一个 Timer 并添加到当前线程的 RunLoop 中。所以如果当前线程没有 RunLoop,则这个方法会失效。

    当调用 performSelector:onThread: 时,实际上其会创建一个 Timer 加到对应的线程去,同样的,如果对应线程没有 RunLoop 该方法也会失效。

    PerformSelector:afterDelay:这个方法在子线程中是否起作用?为什么?怎么解决?

    不起作用,子线程默认没有 Runloop,也就没有 Timer。

    解决的办法是可以使用 GCD 来实现:Dispatch_after

    相关文章

      网友评论

          本文标题:iOS PerformSelector 的实现原理

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