Escribo la aplicación iOS y uso la biblioteca de imageStore para cargar imágenes en latencia y almacenarlas en caché en la memoria. (Https://github.com/psychs/imagestore)iOS verifique si el delegado existe antes del método de llamada
En ViewController puedo crear instancia Imagestore:
imageStore = [ImageStore new];
imageStore.delegate = self;
Cuando imagen cargada exitosamente, el método delegado llamada Imagestore
- (void)imageStoreDidGetNewImage:(ImageStore*)sender url:(NSString*)url
que hacer reloadData en la vista de tabla para redibujar celdas. Todo funciona bien. Pero existe el problema: si ViewController no se descargó (vuelva al controlador de navegación) y se cargó la imagen, la aplicación finaliza con el bloqueo, porque el método de descarga de la cámara del ViewController está descargado.
trato de hacer lo siguiente: 1) en ViewController coloco el código en la sección viewDidUnload:
imageStore.delegate = nil;
imageStore = nil;
2) En Imagestore agregué la comprobación de cero:
if(delegate != nil) {
...call delegate method
}
Funciona, pero periódicamente se bloquea la aplicación de todos modos.
'2)' es innecesario. El mensaje se puede enviar de forma segura al objeto 'nil'. – Nekto
¡Gracias por la respuesta! pero sin que se cuelgue al 100% si la imagen se carga y el controlador de visualización se descarga ... –