Objective-c: saber si la ubicación de memoria fue desasignada

He implementado un descargador para proyectos iOS. Acepta solicitudes y, cuando la descarga ha finalizado, responde a un objetivo por un delegado. Es asíncrono y el objetivo es (obviamente) una referencia débil, de modo que cuando se completa la descarga, si el objetivo ya no está asignado, tengo un error de acceso. He resuelto agregar un método (llamado cuando un objeto que lo usa está desasignado) que busca el objetivo en todas las solicitudes y lo establece en nulo. Esto está muy lejos del comportamiento que quería (completamente independiente de otros objetos: si no se solicita más una descarga, se almacenará en caché: no tiene un método para detener la descarga, sino solo una cola de prioridad) Hay una forma segura de saber si ¿Un puntero todavía apunta a una dirección de memoria válida?

Respuestas a la pregunta(3)

Su respuesta a la pregunta