Pregunta

Estoy utilizando el siguiente código para llevar a cabo un selector después de un retraso con múltiples pasó parámetros:

http://nifty-box.com/blog /2006/12/nsinvocation-cleans-code.html

Funciona muy bien, pero necesito extender esto a apoyar el equivalente a:

[NSObject cancelPreviousPerformRequestsWithTarget: self]

(objetivo en este caso no sería uno mismo, pero sería una instancia de _UFLatePerformer creo)

¿Hay alguna manera de hacer esto, por lo cancelación de asignación de mi vista puede matar todos los restantes solicitudes de rendimiento retraso?

¿Fue útil?

Solución

En el mac que sería capaz de usar objc_setAssociatedObject, pero que no existe en el iPhone.

Así que, básicamente, se necesita algún tipo de gestor de producto único que se aferra a estas referencias para usted que se pasa en un NSObject y hace lo que quiere.

Cuando estaba haciendo algo similar escribí una clase singleton que tuvo en las solicitudes para realizar una acción, y empecé un temporizador que desencadena cuando la acción se debía hacer - en ese momento mi clase entrenador decidió si la solicitud en cuestión era siendo válido, y si es así disparó la acción. por lo tanto pude cancelar efectivamente un temporizador, y además podría decir al encargado de restablecer el tiempo, que en realidad no, que acaba de hacer un nuevo temporizador pero cuando el temporizador de edad disparó la acción que se deba realizar no era válida.

Así que, básicamente, el temporizador se llama el singleton de vuelta con sólo un identificador de solicitud, lo que llevó a una que contiene detalles de la llamada entrada del diccionario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top