ios – 如何取消多个延迟performSelector调用

前端之家收集整理的这篇文章主要介绍了ios – 如何取消多个延迟performSelector调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须停止在fenpleeration的电话.
NSTimeInterval delay = 2;
for (NSString* sentence in sentences) {
   [sentenceHandler performSelector:@selector(parseSentence:)
                         withObject:sentence
                         afterDelay:delay];
   delay += 2;
}

如何从上面停止这个电话?我试过了:

[NSObject cancelPrevIoUsPerformRequestsWithTarget:sentenceHandler 
    selector:@selector(parseSentence) object:nil];

但没有效果?它只会退出循环中的许多调用之一吗?

解决方法

你有两个选择.你可以使用这个将删除所有排队的调用到parseSentence ::
[NSObject cancelPrevIoUsPerformRequestsWithTarget:sentenceHandler];

或者您可以单独删除每一个(注意方法parseSentence后冒号“:”):

[NSObject cancelPrevIoUsPerformRequestsWithTarget:sentenceHandler
                                         selector:@selector(parseSentence:)
                                           object:sentence];

猜你在找的iOS相关文章