• 关于performSelector afterDelay:0 的使用


    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://stackoverflow.com/questions/14717691/performselector-with-delay-0



    最怕你一生碌碌无为 还安慰自己平凡可贵
  • 相关阅读:
    超媒体
    超文本
    视频文件格式
    web.py 模板错误记录
    pip常用记录
    微信公众号绑定服务器 Flask版
    scrapy 简单防封
    python 手写队列
    jQuery个人总结
    PHP用url传递数组
  • 原文地址:https://www.cnblogs.com/fakeCoder/p/14960085.html
Copyright © 2020-2023  润新知