Esto ya es una pregunta de respuesta dentro de SO pero No puedo encontrarlo en la documentación de Apple en ningún lado. ¿Podrías apuntarme en la dirección correcta?performSelector: withObject: y su comportamiento de retención
Dentro de los siguientes temas
Do I have to retain an object before passing it to -performSelector:withObject:afterDelay:?
the effect on retain count of performSelector:withObject:afterDelay:inModes
Is object that calls performSelector:withObject:afterDelay get retained by the NSRunLoop?
el comportamiento por defecto parece ser la siguiente: Conserva el receptor y el argumento (s).
estoy usando el siguiente código
[[self delegate] performSelector:@selector(tryToSendStoreData:) withObject:userData];
donde userData
es un oject autoreleased.
Registrando el conteo de retención (Sé que podría no ser válido hacerlo) los datos pasados en incrementos su conteo de retención. Cuando se invoca el método en el delegado, el conteo de retención no es igual a uno.
Entonces, mi pregunta es: ¿necesito realizar alguna gestión de memoria para evitar fugas o tengo que confiar en las cosas de Apple? Aquí estoy hablando como un agnóstico ya que no puedo encontrar los documentos correctos.
Gracias de antemano.
Creo que el conteo de retención ya no es preciso según ARC – Dustin
@Cake No estoy usando ARC en este proyecto. Gracias. –
Para proyectos habilitados para ARC, puede consultar http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown – rishi