Cocoa estrategia para puntero / gestión de memoria

Veo mucho código, particularmente en el código de ejemplo de Apple, que se parece a lo siguiente:

   EditingViewController *controller = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];
    self.editingViewController = controller;
    [controller release];

¿Hay alguna razón en particular para que el enfoque anterior resulte beneficioso sobre:

self.editingViewController = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];

ntentando entender si hay una estrategia para lo anterior.

¡Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta