我目前正在使用
[NSObject cancelPreviousPerformRequestsWithTarget:self];
取消
doneMoving:
的performSelector。这引起了一个问题,因为我正在运行其他我不想取消的性能选择器。解决的办法是使用[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(doneMoving:) object:objectIDontKnow];
但我不知道与原始performSelector一起传递的对象。我希望能够取消所有
doneMoving:
请求,无论传递了什么对象,同时仍保留我的其他预定方法。谢谢! 最佳答案
尝试以其他方式重写代码,以免传递对象
- (void)moveObject {
[self.objectToMove doSmth];
}
- (void)performMoveObjectInFuture:(id)moveObject {
self.objectToMove = moveObject;
[self performSelector:@selector(moveObject) withObject:nil afterDelay:2];
}
关于ios - NSObject cancelPreviousPerformRequestsWithTarget任何对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22131569/