Inicializando objetos en Cocoa

A vueltas con mi aprendizaje en ObjectiveC y la programación en Cocoa para iPhone, vuelvo a la carga con los “inicializadores”. Qué extraño me suena esto con respecto a C++.

En C++ todo es más “estático” en el sentido de que el mecanismo de construcción y destrucción forma parte del lenguaje: sabes exactamente cuando y como se llamarán a los constructores y destructores (inicializadores en terminología ObjectiveC). El puntero “this” existe siempre y es omnipresente, pero eso no parece ser el caso con ObjectiveC, en el que “self” es más manejable y voluble.

Por ejemplo, hay discusiones sobre cual es la mejor manera de inicializar un objeto, y por lo que puedo leer, tiene mucho más que ver que uses una librería (Foundation) u otra, como por ejemplo que los descendientes de NSManagedObject tengan siempre que asignar “self” mediante la llamada a [super init]. Esto también está relacionado con que se pueden instanciar clases, no sólo objetos con lo que se lía aún más la cosa…

Ya veremos si termino comprendiendo todo esto o tiro por la ventana todo lo relacionado con ObjectiveC… Keep in touch.

Tags: , ,

Leave a comment