我想知道是否有办法确定是否已调用给定对象的performSelector:withObject:afterDelay:
(已注册为被调用)。 (我可以使用cancelPreviousPerformRequestsWithTarget:selector:object:
并重新调用performSelector:withObject:afterDelay:
,好的,但我很想知道是否有替代方案。)
由于
答案 0 :(得分:2)
最好的办法是确保被调用的选择器可以安全地多次调用。
例如,在目标对象中使用一个标志来跟踪是否已经调用了该方法,例如
-targetSelector: (id) param
{
if (!hasBeenRun) // hasBeenRun is a boolean intance variable
{
hasBeenRun = true;
// other stuff
}
}