Tengo una consulta simple que me gustaría aclarar por alguien ... ¿Es una mala práctica retenerme?¿Mala práctica para retener a "uno mismo"?
Tengo un objeto de solicitud de servidor que me gustaría hacer. Me gustaría ser capaz de utilizarlo de la siguiente manera:
ARequest *request = [ARequest request: someParam];
request.delegate = self;
[request begin];
Para que el objeto no de autodestrucción tan pronto como se vacía la piscina autorelease, supongo que tengo que llamar a un retener en su método init y luego un lanzamiento una vez que la respuesta del servidor ha sido recibida, procesada y entregada a su delegado.
Sin embargo, algo está levantando una campana de advertencia en mi cabeza con este enfoque. ¿Mejores formas de hacerlo?
Sí, ARequest es básicamente una clase que crea un NSURLConnection para enviar una solicitud de forma asincrónica. Podría usar un ivar, pero es posible que tenga algunas solicitudes enviadas a la vez, por lo que tendría que mantener una colección de solicitudes de algún tipo. Apple parece usar un patrón que no requiere el mantenimiento de este tipo (SKProductsRequest por ejemplo) sin embargo. – Tricky