On Sep 3, 2009, at 11:40 AM, Scott Andrew wrote:
I could have sworn in either the apple docs (or one of the cocoa
books, maybe this board). I maybe thinking of the general rule that
you don't own the object until you retain it and its only valid or
the within the method that its recieved. My bad.
Here's an example of a return value that isn't autoreleased:
- (Foo*) foo {
static Foo* sharedFoo;
if (!sharedFoo) sharedFoo = [[Foo alloc] init];
return _sharedFoo;
}
Another example is a simple getter that simply returns an instance
variable (which is the way I still choose to write most of my getters.)
The general principle is that returned object references are not
guaranteed to stick around, unless you retain them. Autoreleasing is
just one way for the called method to do that.
—Jens_______________________________________________
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to arch...@mail-archive.com