iOS 四种延时的方法[通俗易懂]

iOS 四种延时的方法

大家好,又见面了,我是全栈君。

– (void)initBlock{

    //延时的方法

    //1:GCD延时 此方式在能够在參数中选择运行的线程。

是一种非堵塞的运行方式,没有找到取消运行的方法。
    double delay1=2.0;//设置延时时间
    dispatch_time_t popTime=dispatch_time(DISPATCH_TIME_NOW, delay1 * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^{
        UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@”” message:@”GCD延时” delegate:self cancelButtonTitle:@”确定” otherButtonTitles:@”取消”, nil];
        ;
    });
    //2:NSTimer延时,此方式要求必须在主线程中运行。否则无效。是一种非堵塞的运行方式,能够通过NSTimer类的- (void)invalidate;取消运行。
    [NSTimer scheduledTimerWithTimeInterval:8.0f target:self selector:@selector(delayMethod2) userInfo:nil repeats:NO];
    //3:PerformSelector延时
    [self performSelector:@selector(delayMethod) withObject:nil afterDelay:5.0f];
    //4:NSThread 延时
    [NSThread sleepForTimeInterval:11.0f];
    [self delayMethod3];
}
– (void)delayMethod{
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@”” message:@”PerformSelector延时” delegate:self cancelButtonTitle:@”确定” otherButtonTitles:@”取消”, nil];
    ;
}
– (void)delayMethod2{
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@”” message:@”NSTimer延时” delegate:self cancelButtonTitle:@”确定” otherButtonTitles:@”取消”, nil];
    ;
}
– (void)delayMethod3{
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@”” message:@”NSThread延时” delegate:self cancelButtonTitle:@”确定” otherButtonTitles:@”取消”, nil];
    ;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115864.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java设计模式之结构型:桥接模式

    Java设计模式之结构型:桥接模式

    2021年10月5日
    43
  • 深度学习小白实现残差网络resnet18 ——pytorch「建议收藏」

    深度学习小白实现残差网络resnet18 ——pytorch「建议收藏」深度学习小白实现残差网络resnet18——pytorch利用闲暇时间写了resnet18的实现代码,可能存在错误,看官可以给与指正。pytorch中给与了resnet的实现模型,可以供小白调用,这里不赘述方法。下面所有代码的实现都是使用pytorch框架书写,采用python语言。网络上搜索到的resne18的网络结构图如下。resnet18只看图中左侧网络结构就可以。(ps:使用的是简书上一个博主的图,如有冒犯,请谅解)接下来,根据如图的网络结构进行搭建网络。通过观察网络结构,发现在网络结

    2022年5月15日
    55
  • jQuery资源

    jQuery资源

    2021年7月24日
    60
  • VHDL与Verilog HDL的运算符区别[通俗易懂]

    VHDL与Verilog HDL的运算符区别[通俗易懂]不断完善。1、VHDL是没有&&、||、!这几个逻辑运算符,而VerilogHDL是有的。2、VHDL是采用and、or、not、nor、xor进行位运算的,而VerilogHDL则是与C/C++相同采用:&、|、~、^、^~。3、VHDL的关系运算中等于和不等于分别是:=,/=,而Verilog中是==,!=。4、VHDL的连接运算符是&,用来连接不同的位/矢量,

    2022年9月21日
    2
  • 网页游戏开发入门教程二(游戏模式+系统)[通俗易懂]

    网页游戏开发入门教程二(游戏模式+系统)[通俗易懂]一、游戏模式目前webgame游戏模式大体上可以分为以下四类:1、玩家拥有一个城市,不断的升级城市内建筑,建筑可以自动获得物资,可以生产军队,军队之间进行对比数值的战斗。这里我简单的称为Ogame

    2022年8月1日
    3
  • 1553B总线控制器61580使用

    1553B总线控制器61580使用这里写自定义目录标题收藏一篇关于61580使用的文章,侵删!原文地址:http://emesjx.spaces.eepw.com.cn/articles/article/item/1000231、BU-61580有“缓冲”和“透明”2种存储模式,前者使用BU-61580内部4Kx16bit缓冲区,后者使用外部RAM作为数据缓冲区,最大可达64Kx16bit。2、BU-61580的缓冲模式又…

    2022年6月5日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号