What reasons are there for doing in three lines what could be done in one?
Here is some code from developer.apple.com:
UINavigationController *aNavigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.navigationController = aNavigationController;
[aNavigationController release];
...and the same thing in one line:
self.navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
It seems clean, simple, and straightforward enough. I've had trouble in the past with a property not being retained, causing [object release] to destroy the object when it wasn't supposed to (so far as I could tell - the retain attribute was set). Using the one-line formula works like a dandy.