He hecho una subclase UIView
para tratar con iAds y adMob. El controlador de vista es el delegado de la clase secundaria y todo funciona bien. A veces, sin embargo, el controlador de vista desaparece antes de que se haya obtenido el anuncio. Para resolver esto establecí el delegate
en nil
en la implementación dealloc
del controlador de mi vista.Compruebe si el delegado aún existe antes de llamar a respondsToSelector
El problema que tengo es que a veces el método respondsToSelector:
se ejecuta al mismo tiempo que el controlador de vista se desasigna. Esto causa un bloqueo. ¿Alguien sabe cómo puedo reorganizar esto?
La vista del anuncio está en aproximadamente 10 diferentes controladores de vista, por lo que me gustaría un lugar para crear el código del anuncio.
Muchas Gracias
Adición: El delegado de un objeto siempre debe vivir más tiempo, entonces sí (es superior en la jerarquía).. Y si se desasigna, debería limpiar su desorden. Se ha establecido como delegado, por lo que debe restablecer el delegado a cero cuando se desasigna. –