En mi aplicación para el iPhone que tiene varios lugares donde puedo hacer una llamadaCómo verificar si hay un selector de rendimiento: ¿esperando a ser ejecutado?
[object performSelector: withObject: afterDelay:]
. Todos conducen al mismo método. Ahora, en ese método, quiero ejecutar algún código solo en la última llamada de este. Si fue el primero, podría simplemente hacer [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(thisMethod) object:nil]
y me aseguro de que se llame una vez.
Pero, ¿hay alguna manera de saber si hay otras llamadas al método esperando a ejecutarse?
Podría usar un contador de esta clase que aumentaría cada vez que configuré este parámetro después de la demora, luego lo disminuiría al inicio de cada llamada y solo ejecutaría el código si este contador se pone a cero. Pero me pregunto si es el enfoque mejor/aceptable ...
¿Qué sucede si solo desea ignorar las llamadas sucesivas sin modificar la primera programada? Por ejemplo, llamadas para actualizar una vista de tabla. – Rivera