240 发简信
IP属地:加州
  • 博主,你好:
    我看到文章开头几个观点有疑问(后面的还没看)
    1、一条线程对应一个RunLoop对象,每条线程都有唯一一个与之对应的RunLoop对象。
    应该不是每条线程都有RunLoop对象吧,而是除了主线程外,其他线程都需要显示的创建和维护RunLoop对象。
    2、我们只能在当前线程中操作当前线程的RunLoop,而不能去操作其他线程的RunLoop
    应该也可以在当前线程操作其他线程的RunLoop的,例如通过:[NSObject performSelector:onThread:..] 将这个任务扔到了后台线程的RunLoop中,这种用法在AFN中很常见的。
    3、RunLoop对象在第一次获取RunLoop时创建,销毁则是在线程结束的时候
    你这个说法没错,但是不全面,因为RunLoop的销毁不一定是在线程结束时候,也可以中途手动退出,详情参考:https://bestswifter.com/runloop-and-thread/

  • iOS开发工程师面试策略(5)-如何提问

    有些时候前面的环节占用了太多的时间,面试官可能就不会给你提问的机会。但如果面试官说:“我的问题问完了,你有什么问题吗?” 那么恭喜你,你基本上已经完成了整个面试,而且还有一点...