self performSelector:@selector(doSomeThing) withObject:nil afterDelay:sec];
这个方法主要用于在当前线程延迟sec秒执行loadPullTableView方法. 如果sec!=0, 我们很好理解.
但是当sec==0的时候, 会有一些特殊的含义.
官方解释是==0的时候, 不意味着立即执行, 还是会加入到runloop中, 会尽快执行.
我们可以在viewDidLoad放一个这个方法, afterDelay:0.
然后分别在 viewDidLoad,viewWillAppear,viewDidappear和这个要执行方法本身做一个log.
你会发现这个方法是最后执行的, 其实是放在当前runloop里面最后执行的
这样的话, 如果我们需要绘制一个界面, 而这个界面需要依赖现有viewController的界面数据,
我们可以使用这个方法, 因为执行这个方法的时候, viewController的view已经绘制完成了。
参考:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/RunLoopManagement/RunLoopManagement.html
https://*.com/questions/14717691/performselector-with-delay-0