¿Hablamos un poco de la gestión de memoria en iOS antes de ARC? Algo básico, tocando organización de la memoria, punteros, cómo crear objetos, cómo destruirlos, etc.
Prepararemos de esta forma el terreno para crear nuestros objetos con propiedades que manejen objetos, y así podremos empezar a crear Apps interesantes.
Preparad un café y abrid XCode. ¡A programar!

En cada capítulo te superas. Estas explicaciones teóricas apoyadas con Xcode son geniales.
Esperando el siguiente con ansia.
Un saludo.
Buenas Diego. En primer lugar felicitaciones por el nuevo episodio, a la altura de los anteriores.
En segundo lugar una preguntita.
No entiendo por que tienes que poner el autorelease y el retain para liberar p4.
Sí q he entendido del concepto de autorelease y retain, pero no veo el por qué, no se libera el objeto simplemente con un [p4 release].
Saludos y con ganas de un cafeycocoa 5!!!!
Hola Diego, gracias por tus explicaciones, son muy útiles y además muy claros tus vídeos.
Te hago una consulta sobre este tema de gestión de memoria.
Este método que empleas es muy usado por lo que he visto en otros ejemplos. ¿Es conveniente usar este método por sobre el ARC?
La pregunta va porque he leído que ARC recién tiene su primera versión en XCode4.2 y aún tiene sus BUGs. Bueno, en realidad no es que realmente los tenga, simplemente lo he leído y me ha surgido la duda.
Nuevamente gracias y saludos, Juan Manuel.
Hola Juan Manuel
Si comienzas un nuevo proyecto, lo ideal es usar ya ARC. El problema puede venir de que utilices código de terceros que aún no soporte ARC. En ese caso, tendrías que gestionar la memoria “a la antigua usanza”. Pero si todo el código es tuyo, o bien usas librerías o frameworks ya migrados a ARC, lo ideal es usarlo. Es lo que Apple va a incentivar a partir de ahora y sería tonto ir contra corriente.
Un saludo
Muchas Gracias !!!
Me ha quedado muy claro y tambien tengo que decirte que me encanta la forma en lo que explicas, se hace muy ameno.
Gracias de nuevo por tu tiempo.
Saludos.
Saludos!
Lo primero felicitarte como en todos los episodios, te sales!!
Todo aclarado a la perfección, no tenía muchas dudas con respecto a este tema, pero ha quedado todo mucho mas aclarado todavía.
Solo una pequeña duda: Cuando creas el metodo createNewPerson y le asignas un autorelease, cuando después haces la llamada a p4 con createNewPerson si no hicieras un retain ¿funcionaria también? es decir, ‚se liberia la memoria por si sola o tendriamos una perdida?
Gracias por tus episodios! espero vengan muchos más… Saludos!
Me han encantado los videos!
¿Para cuando el próximo?
Sería muy interesante un capitulo dedicado a delegados y protocolos.
Muchas gracias!
Hola Syclone
Gracias por el comentario! Está previsto ir hablando de ambas cosas. A ritmo de un capítulo por semana, claro, que Vimeo no me deja más (sin hacerme premium)
Un saludo
Hola Diego, muy buena explicación para un tema que siempre da miedo a los que venimos de otros lenguajes o no tenemos una base teorica de programación muy fuerte. ¡Felicidades!
Te quería plantear una par de dudillas:
1. En el caso de que hiciésemos una App con la gestión automatica de memoria de iOS 5 ¿Funcionaría en dispositivos con versiones del SO inferiores o hacer uso de estas características te obliga a forzar como versión mínima iOS 5?
2. He visto que en varios vídeos has mencionado el framework cocos2D. ¿Podemos esperar que algún día te animes a hablar sobre el?
Por cierto, lo que decías de los jamones en tu primer vídeo lo veo difícil pero si pusieras un botoncico de donaciones en la Web, estoy convencido de que muchos de nosotros participaríamos
¡Un saludo!
Hola Fran
Dudillas:
. Y además, tienes los vídeo de iBaro: (http://ibaro.tumblr.com/) sobre el tema. No sólo de Café y Cocoa vive el Programador!
. Mientras tenga gente que le gusten los vídeos, y hueco, seguiré grabando.
1. Sí, puedes usar ARC y funcionaría en iOS 4 (en anteriores no, pero dado que el grueso de usuarios ya tienen iOS 5 y 4 no te va a hacer falta). Referencia: http://stackoverflow.com/questions/7782598/if-i-convert-my-app-to-arc-will-it-still-work-on-devices-running-ios-4
2. Para hablar de Cocos2D primero habrá que aprender
3. Acepto jamones, sin opción posible. Lo de las donaciones estaría bien, pero primero me tengo que hacer una foto con cara de perrete abandonado al estilo Wikipedia, que si no no doy lástima suficiente
Un saludo
Perfecto Diego, muchas gracias por las respuestas
Seguimos en marcha!
Hola Diego,
Felicidades por el tutorial está genial. Por fin, después de varios intentos, he entendido la gestión de memoria en iOS.
Muchas gracias.
Gracias Flavio
Me alegro de que te aclarase algo
Diego muy buena explicación sobre evitar fugas de memoria!!.
soy nuevo en esto de IOS y la verdad tus post me han servido bastante para poder comprender lo básico sobre las aplicaciones en IOS y el lenguaje Objetive-C , ya que vengo de la plataforma .NET y esto la verdad si que es otro mundo!!!
un saludo desde México y esperando otro capitulo
Gracias por el comentario, Loannis!
[...] En este episodio repasamos los temas básicos de la gestión de memoria con ARC (para gestión de memoria sin ARC, os recomendamos pasar por el 4º capítulo de “Café y Cocoa”, podéis encontrarlo aquí). [...]