ios – 在Objective-c中延迟一个方法调用

前端之家收集整理的这篇文章主要介绍了ios – 在Objective-c中延迟一个方法调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这可以通过使用:
[self performSelector:@selector(myMethod) withObject:nil afterDelay:3.0]

但是,问题是我只想要做一个方法调用.
使用此功能,调用将堆叠在彼此的顶部.我想打电话,如果另一个电话是第一个,将被解雇.想法?

解决方法

一旦该方法正在执行,则无法阻止该方法.

但是如果没有被触发,你可以取消它.你可以这样做

//.... your code
[NSObject cancelPrevIoUsPerformRequestsWithTarget:self selector:@selector(myMethod) object:nil];
[self performSelector:@selector(myMethod) withObject:nil afterDelay:3.0];
//.... your code

这样,只有在myMethod未被触发时,您才可以取消以前的执行请求.

猜你在找的iOS相关文章