Is it safe in Objective-C to write
self.propery = [[SomeClass alloc] init];
instead of
SomeClass *tmp = [[SomeClass alloc] init
The first one will leak.
You must release or autorelease anything you [[ alloc] init] when you don't need it anymore.
[[ alloc] init]
Refer to this guide.