2015-02-06 51 views
1

我'上的不同对象执行cancelPreviousPerformRequestsWithTarget:选择:对象:所有对象

[self performSelector:@selector(doSmth) withObject:objectA afterDelay:1]; 
[self performSelector:@selector(doSmth) withObject:objectB afterDelay:1]; 
[self performSelector:@selector(doSmthElse) withObject:objectA afterDelay:1]; 

调度不同的选择,我想取消所有“doSmth”,那怎么办?不知道对象传递

这将取消一切

[NSObject cancelPreviousPerformRequestsWithTarget:self]; 

,这将取消任何操作(如对象不匹配)

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

即使我想除了行为是(取消任何对象,当零通过,但这不会发生)

回答

0

没有办法获得待处理performSelector请求的列表,您需要保留您传递给performSelector的参数列表,以便稍后取消它们。