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