美文网首页
iOS开发中延时的四种方法

iOS开发中延时的四种方法

作者: 青丘山 | 来源:发表于2017-06-27 15:24 被阅读0次

我列举了日常经常使用的四种方法,各有优劣。不足之处,望大家斧正。

1.performSelector方法

[self performSelector:@selector(delayTime) withObject:nil afterDelay:2.0f/*延时的时间 为两秒*/];

-(void)delayTime

{

NSLog(@"延时的响应方法");

}

这种方法是一种非阻塞的执行方式,暂未找到取消执行方法。

在主线程中执行。

2.NSTimer 方法

[NSTimer timerWithTimeInterval:2.0f target:self selector:@selector(delayTime) userInfo:nil repeats:NO];

这是一种非阻塞的执行方式,可以采用NStimer类的-(void)invalidate;方法取消执行。

在主线程中执行。

NSTimer *timer;

[timer invalidate];

3.sleep方式

[NSThread sleepForTimeInterval:2.0f];

[self delayTime];

此方式在主线程和子线程中均可执行。

是一种阻塞的执行方式,建议放到子线程中,以免出现界面的滑动不畅(卡顿)。

没有找到取消执行的方法。

4.GCD的方式

__block ViewController *weakSelf=self;

dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0/** 延时的事件*/ * NSEC_PER_SEC));

dispatch_after(delayTime, dispatch_get_main_queue(), ^{

[weakSelf delayTime];

});

是一种非阻塞的执行方式,没有找到取消执行的方法。

此方式在可以在参数中选择执行的线程。

相关文章

  • iOS开发中延时的四种方法

    我列举了日常经常使用的四种方法,各有优劣。不足之处,望大家斧正。 1.performSelector方法 [sel...

  • IOS-延时执行

    IOS中延时执行的几种方式的比较和汇总 本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的...

  • iOS 延时执行的实现

    iOS中延时执行的4种方法

  • iOS中延时执行的几种方式的比较和汇总

    转载自:【转载】IOS中延时执行的几种方式的比较和汇总_leisurehuang34_新浪博客 本文列举了四种延时...

  • 数据持久化学习笔记

    在iOS开发中,常用的数据持久化方法共有四种:”属性列表“,”数据归档“,”SQLite“、”CoreData“ ...

  • iOS 处理定时任务常用方法

    在项目开发中,经常会在代码中处理一些需要延时或定时执行的任务,iOS 中处理定时任务的方法包括 performSe...

  • iOS开发中常用的延时delay操作?区别?

    『导言』 在iOS开发中经常有需求,延时某个操作执行,比如启动页延时,来加载后台的数据,给人一种快的假象! 方法:...

  • IOS3

    1、 2、iOS中常用的延时方法iOS常见的延时执行有2种方式调用NSObject的方法[self perform...

  • iOS 开发中 runtime 常用的几种方法

    iOS 开发中 runtime 常用的几种方法 iOS 开发中 runtime 常用的几种方法

  • 延时执行

    在程序当中经常需要延时执行某些操作,而常用的延时方法有四种。 performSelector方法 声明 代码举例 ...

网友评论

      本文标题:iOS开发中延时的四种方法

      本文链接:https://www.haomeiwen.com/subject/irtecxtx.html