ios 延时操作及取消

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CX_NO1/article/details/80275883

在iOS开发中,我们经常会用到延时操作,下边给大家简单介绍两种延时操作的方法。

1. - (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay;

[self performSelector:@selector(myMethod) withObject:nil afterDelay:1];

-(void)myMethod{
    NSLog(@"1秒之后执行!");
}

在此种方法中,如果还没到执行的时间,想要取消performSelector操作,也可以,如下

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(myMethod) object:nil];

2. dispatch_after(dispatch_time_t when , dispatch_queue_t queue , dispatch_block_t block);

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        NSLog(@"1秒之后执行!");
    });

猜你喜欢

转载自blog.csdn.net/CX_NO1/article/details/80275883