-(void)someMethod { // I own this! SomeObject *iOwnThis = [[SomeObject alloc] init]; [iOwnThis doYourThing]; // I release this! [iOwnThis release]; } -(void)someOtherMethod:(SomeObject *)someThing { // I own this too! SomeObject *aCopyOfSomeThing = [someThing copy]; [aCopyOfSomeThing doSomething]; // I release this! [aCopyOfSomeThing release]; } -(void)yetAnotherMethod { // I own this too! SomeObject *anotherThingIOwn = [SomeObject new]; [anotherThingIOwn doSomething]; // I release this! [anotherThingIOwn release]; }