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];
    ;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MySQL权限表_mysql可以授予列增删改权限

    MySQL权限表_mysql可以授予列增删改权限一、权限系统概述安装MySQL时自动安装一个名为mysql的数据库。mysql数据库下面存储的都是权限表。用户登录以后,MySQL数据库系统会根据这些权限表的内容为每个用户赋予相应的权限。这些权限表中最重要的是user表、db表和host表,除此之外,还有table_priv表、columns_priv表和proc_pric表。在MySQL数据库系统中,权限分配是按照use…

  • Oracle数据库备份与还原语句

    Oracle数据库备份与还原语句1、备份语句(数据库导出)expusername/password@ip:port/servernamefile=”C:\Users\Administrator\Desktop\kpms.bak”full=yignore=y;2、导入语句(数据库还原)①全部导入:imp用户名/密码@数据库实例名full=yfile=C:\Users\Administrator\Desktop\kpms.bakignore=y;②单表导入:impusername/password@ip:p..

  • JSP九大内置对象

    JSP九大内置对象

    2020年11月12日
  • App2sd功能和Asec文件

    App2sd功能和Asec文件本文原创作者:CloudChou.欢迎转载,请注明出处和本文链接1.asec文件是什么?asec的全称是AndroidSecureExternalCaches以前app安装好之后,app和app的数据都是放在data分区,而data分区经常存储空间不够,于是从Android2.2,Froyo版本开始,Android开始支持App2Sd功能,所谓的App2Sd就是安装ap

  • mac redis安装_如何启动redis

    mac redis安装_如何启动redisMac安装Redis,原来就是这么简单_MarkJava-CSDN博客_mac安装redis注意:安装brew之前需要切换到普通用户,命令为su用户名。如果在root用户模式下安装报错

  • 数字电路实验(01)基本逻辑运算及其电路实现

    数字电路实验(01)基本逻辑运算及其电路实现题目实验要求一、实验目的1.认识逻辑值1、0和逻辑门的输入、输出信号电平之间的关系;2.从逻辑门的输入、输出电平的关系去认识逻辑与(与非)、或、非的运算;3.熟悉基本逻辑门的使用。二、实验

发表回复

您的电子邮箱地址不会被公开。

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