gpt4 book ai didi

objective-c - 执行cancelPreviousPerformRequestsWithTarget :selector:object: for all objects

转载 作者:行者123 更新时间:2023-12-03 17:20:48 28 4
gpt4 key购买 nike

我在不同的对象上安排不同的选择器

[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];

即使我会异常(exception)的行为(当传递 nil 时取消任何对象,但这不会发生)

最佳答案

无法获取待处理 performSelector 请求的列表,因此您需要维护传递给 performSelector 的参数列表,以便可以稍后取消它们。

关于objective-c - 执行cancelPreviousPerformRequestsWithTarget :selector:object: for all objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28367134/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com