有没有办法检查performSelector:withObject:afterDelay:是否已注册?

时间:2011-10-12 15:56:23

标签: objective-c selector

我想知道是否有办法确定是否已调用给定对象的performSelector:withObject:afterDelay:(已注册为被调用)。 (我可以使用cancelPreviousPerformRequestsWithTarget:selector:object:并重新调用performSelector:withObject:afterDelay:,好的,但我很想知道是否有替代方案。)

由于

1 个答案:

答案 0 :(得分:2)

最好的办法是确保被调用的选择器可以安全地多次调用。

例如,在目标对象中使用一个标志来跟踪是否已经调用了该方法,例如

-targetSelector: (id) param
{
    if (!hasBeenRun) // hasBeenRun is a boolean intance variable
    {
        hasBeenRun = true;
        // other stuff
    }
}